Qiao-MCP — Bridge Engineering (桥梁工程)
Full-lifecycle bridge structural analysis — modeling, staging, code checks.
Connector by SorataYang · GitHub account verified by the MCP Registry
Chalk Labs
Need help deploying Qiao-MCP — Bridge Engineering (桥梁工程)?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/soratayang-qiao-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 26, 2026.
- Tools
- 24 read · 103 write · 15 delete · 11 not yet classified
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Tools by what they do 153
Read from the source code; the running server may list different tools.
Read 24 · Look things up without changing anything.
activate_structurecalc_section_propertycalculate_section_propertycheck_qiaotong_connectionfind_entitiesget_analysis_resultsget_check_dataget_international_live_load_dataget_live_load_resultsget_model_dataget_model_edit_readinessget_model_info
Show 12 more tools
get_model_statusget_special_resultsget_tendon_infoget_tendon_length_resultget_tendon_loss_resultsget_tendon_position_resultget_transversal_datalist_group_memberslist_qtmodel_apiquery_model_datarun_analysisvalidate_model
Write 103 · Create, change, send or run things.
add_beam_constraintadd_beam_section_temperatureadd_cable_length_loadadd_check_load_combinationadd_check_stirrupadd_constraint_equationadd_construction_stageadd_creep_functionadd_custom_temperatureadd_distribute_plane_loadadd_effective_widthadd_elastic_link
Show 91 more tools
add_elastic_supportadd_elements_to_groupadd_gradient_temperatureadd_influence_planeadd_initial_tension_loadadd_load_combineadd_load_to_massadd_master_slave_linkadd_nodal_massadd_node_tandemadd_parametric_reinforcementadd_plate_element_loadadd_shrink_functionadd_spectrum_caseadd_spectrum_functionadd_standard_vehicleadd_support_settlementadd_system_temperatureadd_tapper_section_groupadd_tendon_3dadd_thicknessadd_time_history_caseadd_time_history_functionadd_time_parameteradd_to_structure_groupadd_traffic_laneapply_beam_distributed_loadapply_nodal_forceapply_prestressassign_tendon_elementscall_qtmodel_apiconfigure_operation_stagecreate_beam_elementcreate_beam_elements_linearcreate_boundary_groupcreate_continuous_beam_bridgecreate_elementscreate_en1991_vehiclecreate_line_width_sectioncreate_live_load_casecreate_load_casecreate_load_groupcreate_materialcreate_nodescreate_nodes_linearcreate_polygon_sectioncreate_sectioncreate_section_from_propertiescreate_simple_beam_bridgecreate_structure_groupcreate_tapered_sectioncreate_tendon_2dcreate_tendon_propertydisplay_idsmanage_check_case_filemanage_check_materialmerge_nodesmerge_operation_stagemove_nodesrun_concrete_checksave_model_filesave_model_screenshotset_check_stirrup_snapshotset_element_stirrupsset_gravityset_international_live_load_caseset_international_vehicleset_planned_laneset_renderset_section_reinforcementset_self_weight_stageset_supportset_transversal_caseset_transversal_laneset_transversal_vehicleset_unitset_view_angleupdate_bulking_settingupdate_construction_stageupdate_elementupdate_element_betaupdate_element_idupdate_element_materialupdate_element_nodesupdate_element_sectionupdate_nodeupdate_node_idupdate_section_biasupdate_section_propertyupdate_structure_group_nameupdate_vertical_steel_tendon
Delete 15 · Delete, drop, revoke or wipe things.
assign_element_stirrupmanage_check_case_definitionmanage_check_stirrupremove_boundaryremove_construction_stageremove_elementsremove_from_structure_groupremove_nodesremove_sectionremove_section_reinforcementremove_structure_groupremove_transversal_data
Show 3 more tools
remove_unused_sectionsreset_displayrevert_local_orientation
Not yet classified 11 · We could not tell from the name and description.
change_construct_stageconfigure_analysisconfigure_check_analysisconfigure_live_load_systeminitialize_modelopen_model_fileplot_analysis_resultrenumber_elementsrenumber_nodessetup_concrete_checkswitch_display_stage
Secrets and settings it asks for
Other settings (environment variables or headers).
BRIDGE_PROVIDERQIAOTONG_HTTP_URL
Network hosts it talks to 2
github.com· found in codeglama.ai· found in code
Files it touches
- Your home directory (~)
- Any path the agent passes to its tools
Tools (153)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
activate_structureShow only the given nodes/elements in the view, hiding all others (仅在视图中激活显示指定节点/单元,其余隐藏). Display-only: changes what is drawn, not model data or results. Call reset_display to bring the full model back afterwards. (纯显示操作,不改模型或计算结果;用完调 reset_display 恢复全图。) When to use: isolate a subregion before a screenshot; prefer this over re-reading the model when you only need a visual check. (截图前隔离局部时用;只需目视检查时用它,而非重新读模型。) The SDK treats an omitted node selection as unrestricted; leaving both selections empty restores all structure. Returns a confirmation, not the list of visible objects. Use reset_dis…
add_beam_constraintSet beam end releases / constraints (设置梁端约束/铰接释放). Controls which DOFs are released at each end of a beam element. True = released (free), False = fixed (constrained). 用于控制梁单元两端的自由度释放,True=释放(铰接), False=固接。 Common use: releasing rotation at one end to create a pin connection. 常见用法:释放一端转动自由度以创建铰接。 Both ends are written together. None means no releases at that end (all six DOFs connected), not preservation of earlier settings. Read the current boundaries first when changing an existing release definition. (同时写入两端;省略某端表示该端六自由度均不释放,不是保留旧设置。) Args: beam_id: Beam element ID (梁单元编号) relea…
add_beam_section_temperatureApply code-based beam section temperatures (梁截面温度荷载,按规范). Submits a code-defined section temperature load to load case case_name for the given element(s) and refreshes the model; create the load case first. Uses standard design-code parameters (t1–t4 at code depths). (向工况 case_name 的指定单元添加规范梁截面温度并刷新模型;需先建好工况。按规范用 t1–t4 等标准参数。) When to use vs. siblings: design-code section temperatures here; uniform element temperature → add_system_temperature; linear gradient → add_gradient_temperature; arbitrary profile → add_custom_temperature. (选型:规范梁截面温度用本工具;均匀用 add_system_temperature;线性梯度用 add_gradient_…
add_cable_length_loadTension a cable by prescribing its length (索长张拉). Adds one cable-length tensioning load to load case case_name for the given element(s) and refreshes the model; create the load case first with create_load_case. The resulting cable force is whatever the prescribed length produces — you control length, not force. When to use vs. siblings: prescribe a LENGTH here; prescribe a FORCE instead → add_initial_tension_load. (向工况 case_name 的指定单元添加索长张拉并刷新模型;需先用 create_load_case 建好工况。索力由给定长度反算得出——本工具控制长度而非力。选型:给定"长度"用 本工具,给定"力"用 add_initial_tension_load。) Returns a confirmation, not the resulting cable…
add_check_load_combinationAdd a load combination for structural checking (添加检算荷载组合). Use for code-based concrete checking. add_load_combine creates a general model/result combination instead; create_load_case defines a basic load case. Referenced case names must match the names available to checking, including any suffix displayed by the bridge. Each row contains [case_name, unfavorable_factor, favorable_factor]. Both factors are required; a two-value row is rejected. standard determines the meaning of kind, while combine_method independently chooses summation with selection or envelope. These selectors are not inter…
add_check_stirrupAdd a stirrup definition for checking (添加检算箍筋定义). Define a reusable stirrup before assigning it to elements with assign_element_stirrup. Use manage_check_stirrup to update/remove an existing definition, or add_parametric_reinforcement for longitudinal section layers. set_check_stirrup_snapshot writes a complete model-side snapshot and uses a different, native-unit schema. stirrup_id is a definition ID, not an element ID; material_id refers to existing reinforcing steel. Normal stirrups use limbs_number; spiral stirrups use loops_number and core_diameter. This tool accepts all lengths in mete…
add_constraint_equationAdd a constraint equation between node DOFs (添加约束方程). Establishes a linear relationship between a slave DOF and one or more master DOFs: slave_dof = Σ(coefficient × master_dof). 建立从属自由度与主自由度之间的线性约束关系。 Use for a weighted relation between specific node components. For the usual rigid master/slave coupling use add_master_slave_link; set_support fixes components against ground. All referenced nodes must already exist. Every master_info row pairs a node ID, a DOF index and its coefficient; terms are summed in the declared equation. slave_dof selects one component, not a six-flag vector. Provide …
add_construction_stageAdd a construction stage and say what becomes active in it (添加施工阶段并指定其激活内容). Appends a stage after the existing ones and refreshes the model. Every group named here must already exist (create_structure_group / create_boundary_group / create_load_group). Stages are cumulative: what a stage activates stays active in later stages unless deactivated. LIMITATION — this tool can only ACTIVATE. Deactivation (钝化) of structure, boundary and load groups, temporary loads, and the two release-behaviour settings are not exposed, so falsework removal or temporary-support release cannot be modelled through…
add_creep_functionStore a named creep-coefficient curve (定义命名徐变系数曲线). Use measured/custom creep data here; use add_time_parameter for a code-based creep-and-shrinkage material, or add_shrink_function for shrinkage strain. To use this curve, reference its name in add_time_parameter(code_index=1000, creep_data=[[name, loading_age]]). Creating the curve alone neither assigns it to elements nor solves. (自定义徐变曲线用本工具;规范收缩徐变材料用 add_time_parameter。 曲线须被 code_index=1000 的材料引用,自身不分配给单元或启动分析。) Writes the definition, refreshes the model and returns a confirmation. Points are sent in their supplied order, including duplic…
add_custom_temperatureApply an arbitrary temperature profile over the section (自定义温度荷载). Adds a custom temperature load to load case case_name for the given element(s) and refreshes the model; create the load case first. The SDK profile rows are [reference, height, temperature], where reference is 1=top or 2=bottom. For example [[1,0.25,12.5],[2,0.10,5.0]]. Rows are forwarded in order without interpolation, sorting or unit conversion. (需已有工况和梁单元;每行是 [参考位置1顶/2底, 高度, 温度],按输入顺序原样提交。) When to use vs. siblings: arbitrary/measured profile here; uniform element temperature → add_system_temperature; linear gradient → add…
add_distribute_plane_loadPlace a predefined plane load pattern and distribute it onto plate elements (放置分配面荷载图式,并分配到板单元). Adds one distributed plane load to load case case_name and refreshes the model. Two things must exist first: the load case (create_load_case) and the load PATTERN named by type_name. Creating the pattern has no dedicated tool — use the escape hatch: call_qtmodel_api(api_object="mdb", method="add_distribute_plane_load_type", kwargs={...}). point1/point2/point3 are not three arbitrary coplanar points: they define the pattern's local axes — origin, a point on the local x-axis, and …
add_effective_widthReduce beam bending stiffness to model effective flange width (添加有效宽度系数,用折减刚度体现翼缘有效宽度). Writes to the model and refreshes it. Despite the name it applies no width: it scales the section's Iy at each element end and can shift the centroid, which is how a reduced effective flange width is represented. This is a BOUNDARY-GROUP entry, not a section property. It therefore follows the boundary group's activation in construction-stage analysis — the group must exist (create_boundary_group) and be activated by a stage (add_construction_stage's active_boundaries) to take effect. Only the Iy/centroid…
add_elastic_linkAdd an elastic link between two nodes (添加弹性连接). Elastic links model connections like bearings between members. 弹性连接用于模拟支座等节点间的连接关系。 Both endpoint nodes must already exist. Use this for a connection between two nodes; add_elastic_support connects a node to ground, and add_master_slave_link couples one master to a set of slave nodes. link_type selects the applicable stiffness input: general links use the six-component stiffness_values; tension/compression-only links use kx and gap, while rigid links do not need a finite spring stiffness. Values use the bridge's local-link and unit conventions…
add_elastic_supportAssign nodal springs to ground for foundations or flexible bearings (给节点施加对地弹性支承). Use for support stiffness or one-way contact. set_support gives fixed/free restraints; add_elastic_link connects two nodes. The selected nodes and any named boundary group must exist before assignment. support_type selects the spring vector: six translational/rotational stiffnesses for a linear support, or one axis and one stiffness for tension-only/compression-only support. axis_direction refines that same one-way axis with a sign; it cannot choose a different axis or accompany a six-value linear spring. For …
add_elements_to_groupAdd elements to an existing structure group — elements only (向已有结构组添加单元,仅单元). Writes to the model and refreshes it. Adds to the group's existing members rather than replacing them; the group must already exist (create_structure_group). When to use vs. siblings: this is a convenience wrapper — it forwards to the same underlying call as add_to_structure_group with only element_ids. Use add_to_structure_group when you also have nodes to add, or to do nodes and elements in one call. Use remove_from_structure_group to remove selected members while keeping the group and model entities. remove_str…
Show 138 more tools
add_gradient_temperatureApply a linear temperature gradient through the section (梯度温度荷载). Adds a gradient temperature load to load case case_name for the given element(s) and refreshes the model; create the load case first. Temperature varies linearly through the section depth. (向工况 case_name 的指定单元添加梯度温度并刷新模型;需先建好工况。温度沿截面高度线性变化。) When to use vs. siblings: linear gradient here; uniform element temperature → add_system_temperature; code-based section temperature → add_beam_section_temperature; arbitrary profile → add_custom_temperature. (选型:线性梯度用本工具;均匀单元温度用 add_system_temperature;规范梁截面温度用 add_beam_section_temperature…
add_influence_planeDefine an influence plane from node tandems (添加影响面). STEP 2 of the moving load workflow. The influence plane is built from one or more node tandems and is required by lanes and load cases. Create the referenced tandems with add_node_tandem first. This defines the supporting influence-plane geometry; add_traffic_lane places a lane on it, and create_live_load_case selects vehicles and lanes for analysis. It does not calculate influence ordinates or create vehicles. tandem_names contains existing tandem names in the intended plane order. The optional beam-shape division setting is omitted when…
add_initial_tension_loadApply an initial tension to cable/truss elements (初始拉力). Adds one initial-tension load to load case case_name for the given element(s) and refreshes the model; create the load case first with create_load_case. Typically used to set cable forces in cable-stayed and suspension models. When to use vs. siblings: prescribe a FORCE here; prescribe an unstressed cable LENGTH instead → add_cable_length_load (equivalently, set application_type=3 to convert this force into a length tensioning). (向工况 case_name 的指定单元添加初始拉力并刷新模型;需先用 create_load_case 建好工况。常用于斜拉桥/悬索桥索力。选型:给定"力"用本工具,给定"无应力索长" 用 add_cable_l…
add_load_combineCreate or replace a model load combination (创建或替换模型荷载组合). Use this for MDB model/result combinations. For a concrete-check CDB case, use add_check_load_combination. Referenced cases/combinations must exist; create_load_case creates an individual case rather than a combination. QiaoTong supports automatic overwrite, so use a distinct name/index when creating a new combination. This writes the definition but does not solve. (引用工况须已存在;组合可被覆盖,调用后不会自动求解。) Args: name: Load combination name (荷载组合名称) combine_type: Native rule: 1=add, 2=discriminant, 3=envelope, 4=SRSS, 5=absolute sum…
add_load_to_massAdd a mass-conversion rule for an existing load case used in dynamic analysis (为已有荷载工况设置动力分析的荷载转质量规则). Use when an existing load should contribute to the mass model. For explicit nodal masses use add_nodal_mass; for the subsequent vibration analysis enable it with configure_analysis and then call run_analysis. name is the existing load-case name, not a new mass or combination name. factor is passed as the conversion coefficient. The bridge performs the actual conversion; this wrapper neither computes masses nor deletes the source loads. It writes the rule, refreshes the model and returns a c…
add_master_slave_linkAdd master-slave constraint (rigid link) between nodes (添加主从约束/刚域). Used to model rigid connections where slave nodes follow the motion of the master node (typically for diaphragm rigid zones). 用于模拟刚域,从节点跟随主节点运动(典型应用:隔板刚域)。 Master and slave nodes must exist. Use for one-to-many rigid kinematic coupling; add_elastic_link provides a two-node link with selectable stiffness, and set_support restrains nodes against ground. dof_constraints applies the same six coupling flags to every selected slave. True couples that component to the master; it does not fix the component in space. Omitting the ve…
add_nodal_massAttach a lumped mass to nodes for dynamic analysis (添加节点集中质量). Writes to the model and refreshes it. This is a MASS property, not a load: it belongs to no load case and contributes inertia only, never static force. A physical point mass (equipment, ballast block) has the same translational mass in every direction — pass it as `mass`. Use mass_x / mass_y / mass_z only to override a direction on purpose, e.g. a mass that should act vertically only. Direction-specific values need qtmodel 2.9+ and are rejected on older builds rather than merged. rot_x / rot_y / rot_z are rotational mass moments …
add_node_tandemDefine a named longitudinal node path for a moving-load influence plane (以已有节点定义活载节点纵列). Use after creating the girder nodes and before add_influence_plane, which refers to this tandem by name. add_traffic_lane defines a lane within that plane; create_nodes and create_nodes_linear create geometry and do not define a moving-load path. The selected node IDs must already exist. order_by_x=True asks the bridge to sort by global X, so input list order is not the travel order. For a path that doubles back in X, supply the intended ordered node list with order_by_x=False and verify its direction in…
add_parametric_reinforcementAdd parametric reinforcement to a concrete section (添加参数化配筋). Use for spacing-based reinforcement layers of an existing section in the current concrete-check data. Material IDs must identify existing reinforcing steel. set_section_reinforcement instead writes a complete model reinforcement snapshot; add_check_stirrup defines shear/torsion stirrups rather than these longitudinal layers. Each row is [diameter, material_id, cover, spacing, bars_per_bundle]. Diameter, cover and spacing are in meters: 0.016 means a 16 mm bar. The wrapper uses the SDK's spacing mode for both families; it does not …
add_plate_element_loadApply a force or moment to plate elements, on a face or an edge (板单元荷载:集中/分布力或弯矩,可加在面上或边上). Adds one plate load to load case case_name for the given element(s) and refreshes the model; create the load case first with create_load_case. Which optional arguments are needed depends on load_type: concentrated loads (1, 2) need list_xy; distributed loads (3, 4) need load_place. When to use vs. siblings: per-element plate loads here; a load pattern spread over a plane and distributed onto many plates → add_distribute_plane_load. Beam elements → apply_beam_distributed_load. (向工况 case_name 的指定板单元添加荷…
add_shrink_functionAdd user-defined shrinkage function (添加自定义收缩函数). Use shrinkage strain here and add_creep_function for creep coefficients. Reference this name in add_time_parameter's shrink_data with code_index=1000 and the required creep-function references. The curve alone assigns no material and does not solve. Order and duplicate points pass through; interpolation and same-name handling belong to the bridge. Returns a confirmation after refresh (收缩应变曲线须由自定义收缩徐变材料引用;保留点序, 不自动赋材或求解,插值/重名规则由桥通决定). Args: name: Function name (函数名称) shrink_data: Shrinkage strain over time [[time(days), strain], ...]; …
add_spectrum_caseCreate a response spectrum case that excites the model in one or more directions (创建反应谱工况,按方向施加地震作用). Adds the case and refreshes the model. The spectrum FUNCTION named in info_x/y/z must already exist (add_spectrum_function), and the model needs a mass source (add_load_to_mass / add_nodal_mass) plus self-vibration analysis enabled (configure_analysis with do_vibration=True) for results to be meaningful. Supply only the directions required by the intended loading definition; omitted directions use the SDK's empty defaults. Multi-direction input is supported; choose its combination kind expli…
add_spectrum_functionDefine a response spectrum curve for later use (定义反应谱函数曲线). Stores a named period-vs-value curve and refreshes the model. This is a DEFINITION only — it applies no load until a spectrum case references it by name (add_spectrum_case). Common practice: give function_info a normalized curve and put the seismic coefficient in factor, e.g. factor=0.075 for a rare earthquake. (保存一条以名字标识的"周期-数值"曲线并刷新模型。本工具只是定义, 在 add_spectrum_case 按名引用前不产生任何荷载。常见做法:function_info 给 归一化曲线,地震系数放在 factor 里,如罕遇取 factor=0.075。) Args: name: Function name, referenced later by add_spectrum_case (反应谱函数名,后续由 a…
add_standard_vehicleAdd a standard vehicle load from a design code database (添加标准车辆荷载). STEP 4 of the moving load workflow. Use for a vehicle or lane-load template provided by the bridge's listed Chinese design-code database. set_international_vehicle and create_en1991_vehicle define international families; set_transversal_vehicle defines transversal vehicles. These use different schemas and namespaces. standard_code selects the database and load_type must match an actual entry in that code's desktop UI. load_length and factor are specialized railway options, not universal vehicle geometry or axle-scale contro…
add_support_settlementApply support settlement / nodal displacement load (支座沉降/节点强制位移). Apply a prescribed displacement to existing nodes in an existing load case. Use set_support to define restraints, or apply_nodal_force for forces; this tool does not create either a restraint or a node. (已有节点的强制位移荷载用本工具;约束用 set_support,节点力用 apply_nodal_force。) Sends [dx,dy,dz,rx,ry,rz] without unit conversion, adds a displacement record using the SDK's automatic ID, refreshes the model and returns a confirmation. Repeating the call is not an update of a known record; use query_model_data(request={"kind":"loads","load_family":"…
add_system_temperatureApply a uniform temperature to selected elements (均匀单元温度荷载). Submits an element-temperature definition to an existing load case, refreshes the model and returns a confirmation. Despite the MCP name, it calls mdb.add_element_temperature, not the SDK's model-wide add_system_temperature. The whole section has one value, no gradient. (向已有工况提交指定单元的均匀温度并刷新;底层为 add_element_temperature, 不是 SDK 中不带单元选择的 add_system_temperature。) When to use vs. siblings: uniform element temperature here; linear gradient → add_gradient_temperature; code-based section temperature → add_beam_section_temperature; arbitrar…
add_tapper_section_groupGroup elements so their sections vary continuously along the group (添加变截面组,使组内单元截面沿纵向连续变化). Writes to the model and refreshes it. The elements must already exist and carry tapered sections (create_tapered_section); this tool defines the LAW by which the section interpolates across them, not the sections themselves. factor_w / factor_h are variation ORDERS (exponents), not scale factors: 1.0 gives a linear taper, any other value gives a power-law taper. They never multiply the section dimensions. Only the simple power-law form is exposed here. Parametric groups — per-parameter laws keyed by …
add_tendon_3dDefine a spatial tendon using ordered three-dimensional control points (用有序三维控制点定义空间钢束). Create the material and create_tendon_property first; property_name must name an existing tendon property. Use create_tendon_2d for a planar tendon profile. This tool defines geometry; apply_prestress adds the later load, and update_vertical_steel_tendon changes checking parameters instead. Every control point is [x, y, z, fillet_radius] and order is preserved. position_type changes the meaning of point_insert: straight positioning takes three coordinates, while track positioning takes end, direction and…
add_thicknessAdd a plate thickness property (添加板厚度). Use before creating plate elements whose native rows reference a thickness ID. create_section defines frame cross-sections instead. This creates a property definition; it does not create plates or assign existing elements. t controls in-plane/base thickness in meters. On supporting SDKs t_out controls out-of-plane thickness; omitting it uses t, while explicitly passing it to an unsupported SDK fails before creation. thick_type selects an ordinary or stiffened plate, with advanced rib options left to the SDK. Writes and refreshes the model and returns …
add_time_history_caseCreate a time-history analysis case: the time-integration settings for one dynamic run (创建时程分析工况,即一次动力分析的时间积分设置). Adds the case and refreshes the model. The case is a container for analysis settings — it applies no load by itself. Seismic input is bound separately, per direction, via the mdb method add_ground_motion (escape hatch; it has no dedicated tool). Typical order: define a mass source (add_load_to_mass / add_nodal_mass) → define the wave (add_time_history_function) → this case → bind input (mdb.add_ground_motion via call_qtmodel_api) → enable self-vibration analysis (configure_analys…
add_time_history_functionDefine a time-varying function for time-history analysis, e.g. a ground-motion record (定义时程函数,如地震波时程曲线). Creates a reusable named function and refreshes the model. This only stores the curve — it applies nothing on its own. To use it as seismic input, create a time-history case (add_time_history_case) and then bind this function to a direction via the escape hatch: call_qtmodel_api(api_object="mdb", method="add_ground_motion", kwargs={"case_name": ..., "info_x": [name, factor, arrival_time]}). When to use vs. siblings: a time-domain curve here; a response spectrum curve → ad…
add_time_parameterDefine a named creep-and-shrinkage material, either by a design code or by custom functions (添加收缩徐变材料). Writes to the model and refreshes it. This is a named DEFINITION that other materials then reference; it applies no load by itself. Creep analysis must also be turned on with configure_analysis(do_creep=True). Custom functions use code_index=1000: create them first with add_creep_function and add_shrink_function, then pass their NAMES here. creep_data is NOT a time-value table — that format belongs to add_creep_function. (写模型并刷新。这是一个命名定义,由其它材料引用,自身不施加荷载。徐变分析 还需用 configure_analysis(do_cree…
add_to_structure_groupAdd nodes and/or elements to an existing structure group — the general one (向已有结构组中添加节点和/或单元,通用). Writes to the model and refreshes it. Adds to the group's existing members rather than replacing them; the group must already exist (create_structure_group). Pass either or both of node_ids/element_ids. When to use vs. siblings: prefer this tool — it is the general form. add_elements_to_group is a convenience wrapper that reaches the same underlying call with only element_ids, so it can do nothing this cannot. Use remove_from_structure_group to remove selected members while keeping the group an…
add_traffic_laneDefine a traffic lane line for moving load analysis (添加车道线). STEP 3 of the moving load workflow. Requires an influence plane and a node tandem created beforehand. Use for an ordinary moving-load lane tied to an influence plane. A transversal lane uses set_transversal_lane; an international planned lane uses set_planned_lane and a separate namespace. This tool does not create a vehicle, a live-load case or a structural beam element. influence_name and tandem_name must reference existing definitions. offset locates the lane laterally from its tandem, while lane_width is its width; both use me…
apply_beam_distributed_loadApply a distributed force along selected beam elements in an existing static load case (在已有工况中向梁单元施加分布力). Create the elements and case first. Use apply_nodal_force for forces at nodes, add_plate_element_load for plate loading, or add_distribute_plane_load to place a separately defined plane-load pattern. This tool's positions are measured along each selected beam from its I end. Pair load_positions with load_values: [0, 1] spans the full element; equal endpoint values give a uniform load and differing values describe a linear variation. Positions are relative fractions, not physical distance…
apply_nodal_forceApply a concentrated force and/or moment at nodes (施加节点集中荷载). Adds one nodal load to load case case_name for every listed node and refreshes the model; create the load case first with create_load_case. Components use global axes; with Z upward, downward force has negative fz. Values are forwarded without unit conversion. The SDK does not specify fixed force/moment units here: verify the bridge's native convention using a known load before submitting engineering values. The SDK requests an automatic load index (-1), not an in-place update. Read existing loads with query_model_data(request={"k…
apply_prestressAdd prestress loading to named steel tendons (给钢束施加预应力荷载). Create tendon properties and geometry, the load case, and any named load group first. Use add_initial_tension_load for cable/truss initial axial force and add_cable_length_load for cable unstressed-length loading. This records a load; it does not solve or query prestress losses. The wrapper does not remove earlier prestress loads, and duplicate handling is determined by QiaoTong. Inspect get_model_data(kind="pre_stress_loads") before retrying instead of assuming the call is idempotent (先建钢束和工况;重试前查已有荷载). Args: case_name: Load cas…
assign_element_stirrupAssign or remove shear/torsion stirrup references on checking elements (指定或删除检算单元的抗剪/抗扭箍筋引用). Create the stirrup definitions with add_check_stirrup first. This changes element assignments, not the definitions themselves; manage_check_stirrup updates/removes definitions. set_element_stirrups handles bulk model snapshots with a different row schema. shear requires a positive element_id and uses the four I/J, vertical/ transverse stirrup IDs. torsion also requires a positive element_id but uses only stirrup_i and stirrup_j. Each assignment sends the complete set for that action, including defau…
assign_tendon_elementsDeclare which elements contain tendons, i.e. are prestressed-concrete members (标记预应力单元:声明哪些单元内有钢束穿过). Despite the name, this does NOT bind elements to one particular tendon: the underlying qtmodel API takes element IDs only, no tendon name. It is a model-wide declaration so tendon area and prestress losses are accounted for in those elements. Ordering: create tendons (create_tendon_2d / add_tendon_3d) → call this ONCE with the union of every element any tendon passes through → apply_prestress. Writes to the model and refreshes it; not a query. (不把单元绑定到某根钢束——底层 API 只收单元号、不收钢束名,属全模型级声明, 使这些单元…
calc_section_propertyCompute section properties from raw geometry, without creating a section (按几何直接计算截面特性,不创建截面). Use to evaluate a candidate polygon or line-width shape before storing it in the model. Returns calculated values in the message; existing model sections are unchanged. To read an existing section, use get_model_data(kind="section_property", sec_id=...). To recompute and store properties for every model section, use calculate_section_property. (用于候选几何试算;读取已有截面用 get_model_data,重新计算并保存模型中 全部截面特性用 calculate_section_property。) Provide EXACTLY ONE of loop_segments or sec_lines (二者恰选其一). Args: loop_s…
calculate_section_propertyRecalculate and store properties for all existing model sections (重新计算并保存模型中所有截面的特性). Use after changing stored section geometry. This model-write operation requires an editable model and updates section properties such as area and inertias. It returns a completion message, not the property values. Read values with get_model_data(kind="section_property", sec_id=...). For a trial polygon or line-width geometry, use calc_section_property: it returns calculated values without creating or updating model sections. (修改已有截面几何后使用,须允许模型写入;返回完成消息,数值经 get_model_data 回读。试算几何用 calc_section_property,不修改已有…
call_qtmodel_apiCall a qtmodel API method not covered by a curated tool (调用 qtmodel 长尾 API). ESCAPE HATCH — prefer a dedicated tool when one exists. Discover the real signature with list_qtmodel_api first. Arguments are validated against the real signature before dispatch, so a wrong parameter name fails fast with the correct signature rather than corrupting the model. A listed SDK method does not prove the desktop route is available. qtmodel 2.9.3 rejects several historical routes, including model-check snapshots, with API_NOT_OPEN; that error is preserved without a commit. With supporting SDK/desktop prot…
change_construct_stageChange the construction stage of the results view, BY INDEX (按阶段号切换结果视图的施工阶段). Display-only: it changes which stage the current window shows and does NOT re-run the analysis. Use it to step through stages when reading results or taking screenshots. When to use vs. switch_display_stage: this one takes an integer stage INDEX and drives the results/post-processing view (odb). switch_display_stage takes the stage NAME and drives the modelling view (mdb). The index here is not a name — passing a string fails. (纯显示操作:切换当前窗口显示的阶段,不重新求解;逐阶段读结果或截图时用它。 选型:本工具收阶段"号"、作用于结果/后处理视图(odb);switch_display_sta…
check_qiaotong_connectionDiagnose the connection to QiaoTong software (诊断桥通软件连接状态). CALL THIS FIRST when any tool reports the backend is unavailable. It distinguishes the failure modes, which need different fixes: (任一工具报后端不可用时先调用本工具,它区分需要不同处置的状态) - connected (已连接): HTTP service is reachable; use get_model_status to check whether the current model permits the intended operation. - software_not_running (软件未启动): start QiaoTong and wait for the main window, then retry. (启动桥通并等待主界面加载) - version_mismatch (版本不匹配): only with qtmodel 2.6/2.7, which pinned an exact QiaoTong API version — the user must upgrade QiaoTong (…
configure_analysisConfigure structural solver, construction-stage and vibration options before running analysis (配置结构求解、施工阶段和自振分析选项). Use after defining the model, supports, loads and stages; run_analysis performs the subsequent solve. configure_check_analysis controls concrete checking instead, and configure_live_load_system selects traffic systems. do_creep affects the construction-stage analysis; vibration_modes is meaningful when do_vibration enables the modal calculation. Three setting groups are written in sequence. True and False are both applied, so do_vibration=False explicitly disables vibration. Ev…
configure_check_analysisReplace a concrete-check analysis setting group (完整配置混凝土检算分析设置). ⚠️ UNITS (单位): parameters in this tool use qtmodel's NATIVE units — no conversion is applied. SDK defaults such as protective_thickness=30.0 and fatigue_limit_steel_bar=145.0 suggest mm/MPa, but their units are not explicitly documented; confirm them against the target QiaoTong UI/export. 原生值直接透传、不换算;默认值提示 mm/MPa,但单位须由目标桥通界面或导出确认。 The SDK sends every field and saves the current check file. Omitted keys use SDK defaults; {} resets this group to those defaults. To retain fields, read get_check_data("<kind>_setting") and supply al…
configure_live_load_systemExplicitly select the bridge live-load system (选择活载体系). Existing incompatible definitions can block a switch. Set clear_existing only when the user chose to delete those definitions; references in combinations/operation settings may still block deletion. Never retry a rejected switch with clearing enabled automatically. Does not run analysis. Args: system: china_longitudinal=中国纵向, aashto=AASHTO, china_transversal=中国横向, bs=BS, en1991=EN1991. clear_existing: Explicitly allow clearing old live-load definitions during the switch (允许清理旧活载;默认 False).
configure_operation_stageReplace all operation-stage analysis selections (完整设置运营阶段). Each case list is required: [] disables that family. Read the current analysis_context first and include every family that should remain enabled. Names must match existing definitions. This only commits settings; use run_analysis separately to solve. It does not switch the displayed stage. Args: final_stage: Exact final construction-stage name to inherit; an empty string delegates stage selection to QiaoTong (最终施工阶段名). static_load_cases: Complete ordinary static case names; [] disables (静力工况). sink_load_cases: Co…
create_beam_elementCreate a single frame element (beam/truss/cable) with named parameters (创建单个梁/杆/索单元,参数具名). Use when creating one frame element from existing node, material and section IDs. For an ordered chain use create_beam_elements_linear; for plate elements or already prepared mixed native rows use create_elements. This tool does not create missing nodes or properties. node_i and node_j determine local direction. ele_type selects beam, truss or cable; only cables consume initial_type and initial_value. Cable force inputs use N and unstressed length uses m, according to the selected initialization mode. …
create_beam_elements_linearBatch-create frame elements chaining nodes along a girder (批量创建沿主梁方向连接相邻节点的梁单元). PREFERRED: pass node_ids — the exact ID sequence reported by create_nodes_linear. Elements chain them in the order given: node_ids[0]→[1], [1]→[2], … (首选:直接传 create_nodes_linear 回报的编号序列,按给定顺序连接) Do NOT assume node IDs are consecutive. The backend assigns numbering in an order that is NOT predictable from the request — measured on qtmodel 2.6.3, one batch came back [1104,1103,1102,1101,1100] (reversed) and another [1201,1200,1204,1203,1202] (neither ascending nor reversed). Chaining by ID arithmetic on such a bat…
create_boundary_groupCreate a boundary condition group (创建边界组). Boundary groups collect supports/links to be activated or deactivated together during construction stages (施工阶段中统一控制边界条件激活状态). This creates the named group, not the boundary conditions. Create it before passing its name to set_support, add_elastic_support or link tools; then use update_construction_stage to activate/deactivate the group. Use create_structure_group for model entities and create_load_group for loads; these three group namespaces serve different stage controls. Writes and refreshes the model, returning a confirmation with the name. No…
create_continuous_beam_bridgeBuild a straight continuous girder along global X using an existing section (复用已有截面创建直线连续梁). Use for a standard line-beam layout. create_simple_beam_bridge can create a rectangular section for one span; use individual node/element/support tools for curved geometry or different bearings. This workflow requires an editable base-stage model and resolves the exact section name before writing geometry. It reuses material_name or creates that concrete grade. spans are successive lengths, not support coordinates: [30,50,30] places supports at X=0,30,80,110 m. Each span receives num_elements_per_spa…
create_elementsImport plate elements or mixed element batches from complete native data rows (通过完整原生数据行导入板单元或混合类型单元). Use when the native row layout is already known, particularly for plates or mixed-type batches. For one beam/truss/cable use create_beam_element; for a regular frame chain use create_beam_elements_linear. Nodes, materials, sections and any plate thickness definitions must exist first. The row's type selects its remaining layout: a plate references a thickness ID where a frame references a section ID, and its connectivity has a different length. Preserve the exact field order documented in t…
create_en1991_vehicleCreate/overwrite a named EN1991 vehicle through its native factory (欧规车辆工厂). Select en1991 explicitly first. source=standard uses code-generated uniform loads, loaded lengths and spacings; the native compatibility arguments that are ignored by that factory are not exposed. source=user retains those controls plus p/dis, load_length, num and point_load. Forces use kN, lengths m and uniform loads kN/m. An existing name is completely overwritten. Commits once and returns the actual definition/ID read back by exact name. Args: request: source=standard|user, explicit name and the corresponding…
create_line_width_sectionCreate a section from thin-walled centreline segments (创建线宽截面). Writes to the model. The shape is described as a skeleton: each segment is a centreline with a wall thickness, which suits thin-walled steel box and I-shapes. Describe the actual wall junctions; the wrapper does not join or reorder segments. These are section-plane lines, not plate elements in the global model. The wrapper calls add_section without supplied properties, leaving initial property calculation to the bridge. Read the resulting section with get_model_data(kind="section_property", sec_id=...). Use calculate_section_pro…
create_live_load_caseDefine a moving vehicle/lane case on an existing influence plane (在已有影响面上定义车辆车道活载工况). Use after add_influence_plane, add_traffic_lane and add_standard_vehicle. All plane, vehicle and lane names must already identify compatible definitions. create_load_case defines a static case; transversal and international live-load cases use set_transversal_case and set_international_live_load_case respectively. Each sub_cases row assigns one vehicle and factor to its lane-name list. Multiple rows are separate sub-cases; sub_case_optimized, when supplied, pairs with those rows by position, not with indivi…
create_load_caseCreate a named static load case for subsequent load assignments (创建静力荷载工况,供后续施加载荷引用). Use before apply_nodal_force, temperature or other static load tools. create_load_group instead defines the group activated in a stage; add_load_combine combines existing case results. A case_type of "活载" is a static category: vehicle/lane analysis uses create_live_load_case. The case name is an exact reference used by later load calls; its category is the bridge's native Chinese case_type label, not a result identifier such as "ST:...". Read get_model_data(kind="load_cases") before choosing a name; duplica…
create_load_groupCreate a load group (创建荷载组). Use before applying loads that reference this group_name. A load group collects load definitions for construction-stage activation; create_load_case creates an analysis case, and add_load_combine combines case results. create_structure_group groups model entities and create_boundary_group groups supports/links, each in its own namespace. Writes an empty group and refreshes the model, returning a confirmation with its name. No load case, force or stage activation is created. The default name is sent as-is; inspect existing groups before reusing a name because dupl…
create_materialCreate a material in the bridge model (创建材料). Use a database grade for code materials; mat_type=5 requires the four custom properties. This defines a material, without assigning elements or solving. Read get_model_data(kind="materials") for its actual ID, then create elements or use update_element_material to assign it. The SDK documents overwrite by name: inspect an existing material before reusing its name. Returns a confirmation, not the new material ID. (数据库材料指定牌号,自定义材料填四项参数;同名可覆盖,创建后回读编号再赋给单元。) Composite constituents and creep-material bindings require additional SDK options: discover md…
create_nodesCreate model nodes at explicitly supplied global coordinates (按坐标创建节点). Use for surveyed points, curved layouts or irregular spacing. For an evenly spaced straight line use create_nodes_linear; move_nodes and update_node change existing nodes instead of submitting new positions. With merging enabled, coordinates within merge_error can reuse existing nodes, so the input row count is not the number of newly created nodes. intersected=True also requests element splitting at intersections. Numbering and merging interact: explicit IDs or start_id are requests, and a merged position can keep its o…
create_nodes_linearGenerate a regular straight-line node mesh from a start point, count and constant coordinate increments (按起点、数量和固定步长生成直线节点网格). Use for regularly spaced girder nodes. create_nodes accepts an explicit list for irregular or curved coordinates; create_beam_elements_linear connects an existing ordered node chain after node creation. Coordinate i is start + i * spacing, so count nodes span count-1 steps. A nonzero increment is needed to obtain distinct points when count > 1. Writes and refreshes the model. With is_merged=True, nearby existing nodes can be reused and the number of distinct nodes ca…
create_polygon_sectionCreate a custom section from polygon outlines and holes (创建多边形截面). Use create_section for a standard parametric shape, create_line_width_section for thin-wall centreline segments, or calc_section_property to calculate properties without adding a section. This writes a section definition; use get_model_data(kind="sections") to obtain its ID before assigning it. Supply points in perimeter order with no self-intersections; holes must lie inside the main outline. Missing closing points are appended automatically. Basic point count/area is checked; verify hole containment and intersection topology…
create_sectionCreate a cross-section (创建截面) — one tool for all parametric section types. This writes a section with automatic numbering (index=-1). Read sections before and after calling, then use the actual ID for elements. Initial property calculation belongs to the bridge; the response only confirms the requested name (请求自动分配截面号, 创建前后回读;初始特性由桥通计算,返回名称确认). Args: name: Section name (截面名称) sec_type: Section type, Chinese enum (截面类型,中文枚举)。 sec_info layout per type (各类型 sec_info 参数顺序): ─ 基本形状 ─ "矩形": [宽, 高] "圆形": [直径] "圆管": [直径, 壁厚] "…
create_section_from_propertiesCreate a section directly from its pre-calculated properties (通过截面特性直接创建截面). Use create_section/create_polygon_section/create_line_width_section when geometry should determine properties; calc_section_property only evaluates candidate geometry. Here supplied properties skip bridge calculation. Requests automatic numbering with index=-1; read back the actual ID. Returns a confirmation without assigning elements. (已有特性直接建截面,不自动由几何补算;回读编号后再赋给单元。) Args: name: Section name (截面名称) area: Cross-sectional area (横截面面积 Area) ix: Torsional constant (扭转惯性矩 Ixx) iy: Moment of inertia about…
create_simple_beam_bridgeBuild a straight, simply supported beam along global X (创建简支梁桥). Use this for a standard pin/roller layout. For custom geometry or supports, use create_nodes_linear, create_beam_elements_linear and set_support. Requires an open model in an editable base stage. Reuses a material and section by exact name; creates missing concrete material / rectangle section. Nodes at matching coordinates are reused; elements receive unused IDs. Repeating the workflow can add duplicate elements and supports. It does not clear the model or roll back partial writes on error; save_model_file first. The first supp…
create_structure_groupCreate a structure group and optionally assign elements to it (创建结构组). Structure groups are used to control which elements are active during each construction stage (施工阶段分析中控制单元激活状态). Use for a new group. To append nodes/elements to an existing group, use add_to_structure_group; create_boundary_group groups supports/links and create_load_group groups loads. Creating a structure group does not activate its members in a stage; configure that with add_construction_stage or update_construction_stage after the group exists. Omit element_ids to create an empty group. A supplied selection must be …
create_tapered_sectionCreate a tapered section definition joining two existing end sections (由两个已有端截面定义渐变截面). First create the constant end sections with create_section (or a custom section tool), then use their saved section IDs as begin_id and end_id. These are section IDs, not node or element IDs. Use create_section for a constant section; use this tool when the start and end shapes differ. The call writes one section definition and refreshes the model. Assign the resulting section to elements with create_beam_element or update_element_section. For a taper extending across several elements, add_tapper_section_…
create_tendon_2dCreate a 2D tendon defined by profile control points (创建2D钢束/平弯钢束). The tendon profile lies in the X-Z plane; each control point is [x, z, r] where r is the fillet radius (0 for sharp points). 钢束线形位于XZ平面,控制点为 [x, z, r],r为圆弧半径(0为折点)。 Use for a planar tendon profile; add_tendon_3d accepts spatial points. Create the referenced property with create_tendon_property first. This defines the tendon path, while apply_prestress adds its structural load. update_vertical_steel_tendon changes checking parameters rather than paths. Point order controls the profile. position_type determines whether point_…
create_tendon_propertyCreate a tendon property definition (创建钢束特性). Use after creating the prestressing steel material and before defining tendon geometry with create_tendon_2d or add_tendon_3d. This stores reusable section, duct and friction properties; apply_prestress adds an actual load and update_vertical_steel_tendon configures vertical checking reinforcement. For strands, area/duct_diameter/friction/deviation form the four-value steel detail unless an explicit steel_detail overrides them. Threaded bars require their six-value native layout; a strand default cannot represent the bar diameter or tension metho…
display_idsToggle the display of node and element IDs (开关节点和单元编号显示). Use while inspecting connectivity or before save_model_screenshot. This changes visible labels, not identifiers: update_node_id and update_element_id renumber entities, while set_view_angle changes the camera. Both booleans are applied on every call. Omitting either uses False and hides that label family; an omitted flag does not retain its previous state. The two display settings are sent sequentially to the desktop. Requires a connected view and returns a confirmation, without producing an image or changing geometry or analysis resu…
find_entitiesLocate nodes/elements by coordinates or attributes (按坐标或属性定位节点/单元). Use to resolve IDs or inspect one selected attribute before editing the model. get_model_data lists full entity records; query_model_data offers typed combined filters. Choose one by mode and supply its required selector from the schema; unrelated selectors are ignored for that mode. Point modes use all three coordinates and the search tolerance. Material searches use a name, section searches use an ID, and span modes use an existing span-info name. element_type accepts one positive ID; element_weight accepts a selection and…
get_analysis_resultsRead solved displacements, element forces/stresses or support reactions for one analysis stage and case (读取指定阶段工况的结构计算结果). Use after a successful run_analysis and while that solved state is current. get_model_data/query_model_data read definitions, get_check_data reads concrete-checking data, and get_live_load_results selects moving-load envelope extremes. This read does not start or refresh an analysis. result_type determines the ID namespace: deformation/reaction select nodes; force/stress select elements. Choose stage_id before case_name: -1 selects operation results, 0 the stage envelope…
get_check_dataQuery concrete-check data by kind (按类型查询混凝土检算数据). Read-only. Requires a check case to be open/imported first. 只读工具;需先创建或打开检算工况。列表结果分页返回。 Args: kind: What to query (查询类型): ── 结果 Results ── "stress" (应力信息, 可选 stress_type/name), "solve_status" (检算求解状态) ── 工况 Case ── "case" (检算工况, 可选 name), "basic_info" (检算基本信息), "materials" (材料信息), "load_table" (荷载表, 可选 combine_type/name), "section_property" (截面特性), "element_table" (单元表) ── 配筋 Reinforcement ── "reinforcement" (配筋数据), "stirrups" (箍筋定义), "shear_stirrup" (单元抗剪箍筋, 可…
get_international_live_load_dataRead complete international vehicle/case definitions (回读国际活载定义). Native endpoints return the whole list; exact name/ID selection and pagination are local. All backend fields and stored units are preserved. Case results include only cases whose subcases all use international vehicles. There is no planned-lane getter; inspect a model export/UI. Args: kind: vehicles or cases; both return full native definitions. name: Optional exact name; name and index must both match if supplied. index: Optional positive ID obtained from a query, not a guessed sequence. limit: Maximum selected…
get_live_load_resultsGet moving load analysis results (获取移动荷载分析结果). Queries operating-stage results for one extreme at a time. The default is maximum; request envelope_type=2 separately for minimum. The case name is passed verbatim: obtain its complete result name from verified model data. This tool neither prefixes a case name nor runs analysis. 查询运营阶段已求解结果;默认最大值,最小值须单独指定2;工况全名原样传入。 Use after a moving-load case has been included in operating-stage configuration and successfully solved. get_analysis_results serves the general result interface; get_transversal_data and get_international_live_load_data read defini…
get_model_dataQuery model data by kind (按类型查询模型数据) — the single read tool for entities, loads, groups and stages. List results are paginated. Args: kind: What to query (查询类型): ── 实体 Entities ── "nodes" (节点, 可选 ids), "elements" (单元, 可选 ids), "materials" (材料), "sections" (截面列表), "section_detail" (截面详情, 需 sec_id, 可选 position 0=起端 1=末端), "section_shape" (截面形状, 需 sec_id), "section_property" (截面特性, 需 sec_id), "thickness" (板厚), "boundaries" (全部边界条件), "node_local_axis" (节点局部坐标), "constraint_equations" (约束方程), "effective_widths" (有效宽度), "re…
get_model_edit_readinessDiagnose why the current model cannot be edited (只读检查编辑准备项). Available even when model reads/writes are blocked, including solving, postprocessing and an unknown model state. The readiness object contains only bridge-reported fields: success means a response was received, NOT that editing is safe. Missing API, connection failure and unknown data are reported explicitly. Any preparation_token is opaque and must not be cached or reused. This tool never calls prepare_model_edit, switches stages or deletes results; ask the user to handle preparation in QiaoTong.
get_model_infoRead eight entity counts from the active bridge model (读取当前模型八类实体数量). Use for a model inventory before or after edits. For actual IDs and records use get_model_data or query_model_data; get_model_status reports operation readiness, and validate_model adds missing/overlap checks. Entity counts alone do not establish model validity or solve readiness. Requires a connected model. Reads nodes, elements, materials, sections, construction stages, load cases, structure groups and boundary groups, returning a formatted count summary. These are separate backend reads, not one atomic snapshot; avoid c…
get_model_statusGet QiaoTong's current model lifecycle and operation capabilities. 获取桥通当前是否打开模型、前处理/求解/后处理阶段、当前显示阶段是否 为基本阶段、是否存在结果,以及 MCP 当前可执行的读模型、改模型、 修改施工阶段、结果查询、分析和视图操作能力。 Call this before starting a model workflow and whenever an operation is rejected. This tool only observes state; it never switches stages, deletes results, or changes the model. Newer desktops also report opaque model_instance_id, model_revision, history_revision and pending_command_count fields. These identify the opened model and command state; do not derive or reuse them across models.
get_special_resultsGet special post-analysis results (专项分析结果查询) — beyond the basic deformation/force/stress/reaction of get_analysis_results. Args: kind: Result kind (结果类型): "vibration_modal" (自振振型, 需 mode), "buckling_modal" (屈曲振型, 需 mode), "period_vibration" (周期与振型汇总), "buckling_eigenvalue" (屈曲特征值), "self_concurrent_reaction" (自并发反力, 需 node_id + case_name), "all_concurrent_reaction" (全并发反力, 需 node_id + case_name), "concurrent_force" (并发内力, 需 ids + case_name), "elastic_link_force" (弹性连接内力, 需 ids), "constraint_equation_force" (约束方程内力, 需 ids), "c…
get_tendon_infoRead saved tendon definitions, filtered by exact name or all names (按完整名称读取钢束定义,或读取全部钢束). Use get_tendon_loss_results for a stage's computed stress/loss distribution and get_tendon_position_result for discretized coordinates. This queries model data and never solves. Returns a message containing native records; a missing requested name returns a not-found message, not an MCP error. Any loss-related definition fields are not a substitute for stage results. (定义查询不求解;阶段损失和离散坐标分别用上述结果工具,未找到名称返回提示消息。) Args: tendon_name: Specific tendon name, or empty string for all tendons (钢…
get_tendon_length_resultGet all tendon length results (获取所有钢束长度结果). Use when the bridge has generated tendon length results and a total-length result listing is needed. get_tendon_info reads saved definitions; get_tendon_position_result reads discretized coordinates, and get_tendon_loss_results reads computed loss components. This parameterless query reads all available length results without recalculating geometry, running analysis or refreshing the model. Returns the backend records as text; there is no tendon selector or pagination. An empty result is not proof that the model has no tendons: confirm the definiti…
get_tendon_loss_resultsGet prestress-loss distribution along one tendon at one construction stage (获取一根钢束在指定施工阶段的应力/损失分布). Read-only: it does not change the model. Returns a message containing the native list of points along the tendon / its host beam, each with tendon_name, beam_id, position, effective_s (effective stress), instance_s (instantaneous stress), except_s (target / control stress) and ratio (effective-stress ratio). Stress units follow the current project unit system. An empty list means the name did not match or that stage has no results. Preconditions: the tendon must exist, the named stage must hav…
get_tendon_position_resultRead the bridge's discretized global coordinates for one tendon (读取一根钢束离散后的全局坐标). Use this to inspect the resulting tendon path; get_tendon_info reads saved tendon definitions, while get_tendon_loss_results reads stress and loss distributions. Requires an existing tendon and permission to read results. It never starts analysis or changes the model. Whether coordinates are available before a solve depends on the bridge. (核对离散钢束路径用本工具;定义用 get_tendon_info,应力/损失用 get_tendon_loss_results。受结果读取权限约束,不自动求解。) Returns a message containing the native point list in tendon order. The SDK documents either…
get_transversal_dataRead complete native transversal definitions (回读横向定义). Exact name/ID filters are applied by QiaoTong; pagination is local to its returned list. Native fields and node order are retained, including load_factors in meters. Use the returned index for case references. Use before editing with set_transversal_vehicle/lane/case and after a write to verify actual IDs and stored fields. For international definitions use get_international_live_load_data; get_analysis_results reads solved responses. This query requires no new solve and does not mutate the model. When both name and index are provided t…
initialize_modelInitialize a new empty model (初始化全新模型). WARNING: This will CLEAR the current model data in the active bridge software! (警告:此操作将清空桥通软件中的当前模型!) Use this ONLY when starting a brand new project, NOT when modifying an existing one. (仅在从零开始新建桥梁时使用,修改现有模型时绝对不要调用此工具) CRITICAL LLM INSTRUCTION: Do NOT call this tool autonomously to fix your own mistakes. You MUST explicitly ask the USER for permission before calling this tool. (严重的指令:大模型绝对不可为了修复自己的建型错误而自行调用此工具清空模型!必须先向用户询问并获得许可!) Args: confirm: Must be set to true to execute (必须设为true以确认操作)
list_group_membersList members of a structure/boundary/load group (查看分组的成员信息). Structure groups return node and element IDs. Boundary/load groups use native filtered queries and return a separate page for each supported family: six boundary families or seven nodal/beam/plate load families. These pages do not cover temperature, prestress or other special loads. Page metadata comes from the bridge; use offset/limit for further pages. Requires a bridge/SDK with native queries for boundary/load groups. (结构组返回节点和单元;边界/荷载按支持的原生类别分页,不含温度、预应力等特殊荷载。) Use to verify membership before/after add_to_structure_group or remo…
list_qtmodel_apiDiscover qtmodel API methods and their real signatures (检索 qtmodel API 方法及签名). Use this to find long-tail methods NOT covered by the curated tools, then invoke them with call_qtmodel_api. ALWAYS discover the real signature here before calling — do not guess parameter names. (先用本工具查到真实签名,再用 call_qtmodel_api 调用,切勿臆测参数名。) New qtmodel builds expose model queries on mdb; older releases use odb. For existing-model section geometry use mdb.get_model_section_shape, not mdb.get_section_shape (the local geometry builder). Updated source builds also expose reset_*_setting analysis resets and copy_thic…
manage_check_case_definitionSet/remove a complete base-model check case (完整设置或删除检算工况). Supports concrete, seismic and strengthening definitions. Native enums start at zero and all exported fields must be retained, including inactive family fields. Removing a case invalidates its corresponding check file. This does not import or solve a current CSAN case. For concrete only, use run_concrete_check after committing; it imports the named model case first. No seismic/strengthening solver is promised by that concrete tool. Requires an SDK/bridge exposing the snapshot route. qtmodel 2.9.3 rejects this historical route with API…
manage_check_case_fileOpen or save a concrete check case file (打开或保存混凝土检算工况文件). Use for the current checking data, including checkpoints before changing its settings. open_model_file/save_model_file handle the entire structural model instead; setup_concrete_check creates a new checking case definition. For open, file_path takes priority over name; with only name the backend resolves its default check-data directory. Opening replaces current checking data, so save existing work first if needed. For save, a nonempty file_path means save-as; otherwise the current case is saved in place. name is ignored on save. Exis…
manage_check_materialSet a full check-material override or restore the base material (设置/恢复检算材料). set requires the complete UI-exported definition, including native model enums, stored modulus, properties and parameters. Keep all legal keys and units; do not build a replacement from an incomplete CSAN/material query. reset removes only the override for an explicit material ID. This is a base-model write with one commit, not a current-CSAN partial update. Requires an SDK/bridge exposing the snapshot route. qtmodel 2.9.3 rejects this historical route with API_NOT_OPEN before sending it. Args: request: action=s…
manage_check_stirrupUpdate or remove a stirrup definition in the current concrete-checking context (修改或删除当前检算窗口内的箍筋定义). Use add_check_stirrup to create a definition, assign_element_stirrup to change element assignments, and set_check_stirrup_snapshot to write a model-side snapshot. This tool targets the loaded checking context; it does not import a model check case or run verification. update requires name and sends every property, including defaults: read get_check_data(kind="stirrups") and carry forward values to retain. This is a full definition update, not a patch of supplied fields. The bridge tries stirru…
merge_nodesMerge nodes that are at (nearly) the same coordinates (合并重合节点). This is equivalent to the "Merge Nodes" operation in the GUI. Useful after building a model to remove accidental duplicate nodes. 相当于界面上的"合并节点"功能,用于消除重叠节点。 Use after validate_model identifies unwanted overlaps. To avoid merging during new node creation, configure create_nodes/create_nodes_linear instead; remove_nodes deletes a selection without coordinate merging. Provide ids for a selected scope, or omit it intentionally for all nodes. The distance tolerance uses model length units. The bridge selects the surviving nodes and u…
merge_operation_stageMerge the current construction-stage definitions into a named operation stage (将当前施工阶段定义合并为指定名称的运营阶段). Use when intentionally consolidating the stage sequence. To add one stage while retaining the sequence, use add_construction_stage; to change activation/deactivation in one stage use update_construction_stage. configure_operation_stage instead selects operating load cases and factors. This rewrites stage definitions and refreshes the model; save a checkpoint if the original sequence is needed. It does not solve or combine already computed result arrays. Read get_model_data(kind="stages") af…
move_nodesMove nodes by an offset (平移节点). Use update_node for absolute coordinates on one node; use update_node_id or renumber_nodes for numbering without moving geometry. Each call adds the offset again, so it is not idempotent. Returns a confirmation after refreshing the model; re-read affected geometry before a new analysis. (本工具按相对位移移动,重复会再次累加;绝对坐标用 update_node,改号用改号工具。) Args: ids: Node ID(s) to move. Supports int, list, or range string '1to10'. (节点编号,支持整数、列表或范围字符串) offset_x: X-direction offset in model units (X方向偏移量) offset_y: Y-direction offset in model units (Y方向偏移量) of…
open_model_fileOpen an existing model file (打开模型文件). Replaces the active model. Save unsaved work with save_model_file first. The path is read by QiaoTong on its host, not uploaded from the MCP machine. Args: file_path: Native model path on the QiaoTong host (.bfmd in the qtmodel SDK; use the format your desktop version supports). Prefer an absolute path. (桥通主机上的模型文件路径,建议使用绝对路径)
plot_analysis_resultGenerate an analysis result contour plot (生成分析结果云图). By default returns the plot image itself for direct viewing. 默认直接返回云图图像内容,可在客户端预览。 Rendering changes the desktop result view and writes a PNG on the MCP host, replacing an existing file at the selected path. It does not run analysis or replace the editable model file. Use save_model_screenshot to capture the current model view without requesting a result contour. (修改结果视图并保存 PNG,同名文件会覆盖;不求解,也不替代原生模型文件。) Args: result_type: Result type (结果类型): 'displacement'(位移), 'reaction'(反力), 'beam_force'(梁内力), 'beam_stress'(梁应力), …
query_model_dataFilter and paginate model records on the bridge (服务端筛选分页查询). Unlike get_model_data, this never downloads all records for local filtering. Requires a qtmodel/QiaoTong build supporting the chosen endpoint; missing APIs fail explicitly. Filters are intersected by the server. IDs accept a positive integer or list (section_summaries: list only), not range strings. Names must be lists, not a single string. Node queries require at least one filter; near/tolerance are paired. Qiao-MCP caps input lists/pages at 500, or 100 for section summaries. The data object preserves native pagination fields witho…
remove_boundaryRemove one selected support, link or constraint definition from the model (按类型和目标编号删除支承、连接或约束定义). Use when a boundary condition is no longer wanted. To change ordinary restraint flags, use set_support; to deactivate a boundary group in one stage while retaining its definitions, use update_construction_stage. Removing a boundary does not request removal of its nodes or elements. Match kind to the existing definition: remove_id is its node, element or slave-node ID as documented below. group_name narrows the boundary group; extra_name identifies the I/J end for links or the named constraint eq…
remove_construction_stageDelete a named construction-stage definition, or all stage definitions when name is omitted or empty (删除指定施工阶段;省略名称或空串删除全部阶段). Read get_model_data(kind="stages") and supply the exact stage name for a single deletion. Omitting name is an explicit all-stages operation, not a way to select the current stage. Save a model checkpoint first if the stage sequence may need to be restored. To keep a stage and deactivate its structures, boundaries or loads, use update_construction_stage with delete_structures, delete_boundaries or delete_loads. To change only the displayed stage, use switch_display_st…
remove_elementsDelete elements from the model (删除单元). Args: ids: Element ID(s) to delete. Supports int, list, or range string '1to10'. Omit/use None plus confirm_delete_all=True to delete ALL elements; empty strings/lists are invalid (省略或 None 配合确认删除全部;空串/空表无效) remove_free_nodes: Also delete nodes that become free after element deletion (是否同时删除孤立节点,默认不删除) confirm_delete_all: MUST be set to true if ids is empty (deleting all elements). (如果要删除所有单元,必须设为 true) CRITICAL LLM INSTRUCTION: Do NOT delete all elements autonomously to fix yo…
remove_from_structure_groupRemove nodes and/or elements from an existing structure group (从结构组中移除节点和/或单元). Use to change group membership after add_to_structure_group. Supply explicit node_ids and/or element_ids; the group and the model's nodes and elements remain. This writes group membership and refreshes the model. Use remove_structure_group to delete the group itself. (显式指定要移出的节点/单元,仅修改成员关系并刷新模型,保留组和模型实体; 删除整个组用 remove_structure_group。) Args: group_name: Name of the structure group (结构组名称) node_ids: Node ID(s) to remove. Supports int, list, or range string. (要移除的节点编号) element_ids: Element…
remove_nodesDelete nodes from the model (删除节点). Args: ids: Node ID(s) to delete. Supports int, list, or range string '1to10'. Omit/use None plus confirm_delete_all=True to delete ALL nodes; empty strings/lists are invalid (省略或 None 配合确认删除全部;空串/空表无效) confirm_delete_all: MUST be set to true if ids is empty (deleting all nodes). (如果要删除所有节点,必须设为 true) CRITICAL LLM INSTRUCTION: Do NOT delete all nodes autonomously to fix your own mistakes. You MUST explicitly ask the USER for permission before calling this tool with empty ids. (大模型绝对不可为了修复自己的错误而自行清空所有节点!必须先向用…
remove_sectionDelete explicitly selected section definitions from the active model (按编号删除指定截面定义). Use this for known section IDs. Use remove_unused_sections for automatic cleanup of unused definitions, or remove_elements to delete elements. Inspect get_model_data(kind="sections") and element assignments first; update_element_section changes an assignment without deleting a section. Requires a nonempty ID selection. The tool validates that selection, submits one delete command, refreshes the model and returns a confirmation. It does not create a backup or reassign elements. Referenced-section rejection, ca…
remove_section_reinforcementDelete reinforcement by complete base-model section identifier (按完整标识删除配筋). Uses the snapshot by-name endpoint, including tapered groups. It does not use the legacy current-CSAN sec_id/position endpoint or default to all sections. Requires an SDK/bridge exposing the snapshot route. qtmodel 2.9.3 rejects this historical route with API_NOT_OPEN before sending it. Args: section_id_name: Explicit exported identifier such as 1, 1-I, 1-J, or G7-2; obtain it from the model/export, not a guessed sequence.
remove_structure_groupRemove a structure group (删除结构组). If no name is provided, removes all structure groups. Use for deleting group definitions. remove_from_structure_group removes selected memberships while retaining the group; remove_elements and remove_nodes delete model entities. To deactivate a group in one stage while keeping the definition, use update_construction_stage instead. Provide the exact existing name for one group. Empty or omitted name requests deletion of ALL structure groups, not the currently selected group. Save a checkpoint if grouping or stage references must be restored. The bridge handl…
remove_transversal_dataDelete one explicit transversal object (删除明确指定的横向对象). Vehicles/lanes default to cascade=False. Opting into cascade can delete dependent cases, but references from model/check combinations or operation settings still block deletion. Case deletion has no cascade option. Never removes external references or retries with more destructive options. Args: request: kind=vehicle|lane|case and explicit name/index. Only vehicle and lane selectors support the optional cascade boolean.
remove_unused_sectionsDelete all section definitions that the bridge classifies as unused (由桥通识别并删除全模型中未使用的截面). Use after model edits when cleaning the section catalog. For a specific list of section IDs, use remove_section; to inspect definitions without deleting anything, use get_model_data(kind="sections"). An open, editable model is required. This operation has no selection or preview parameter. Sends one cleanup command and refreshes the model. The backend decides which sections are unused; the wrapper does not emulate its dependency rules. Save a checkpoint if unassigned definitions must be kept for later m…
renumber_elementsRenumber elements (单元编号重排序). Supply both lists with equal lengths and unique IDs for a local mapping; omit both to renumber all elements from 1. Supplying only one is rejected. For one ID use update_element_id, or update_element to change properties as well. Returns a confirmation, not a mapping; read elements and references back before reusing old IDs (局部须两列成对,仅同时省略才全模型重排;完成后回读). Args: element_ids: List of element IDs or string format (可选,原单元号) new_ids: List of new element IDs (可选,新单元号)
renumber_nodesRenumber selected nodes with an explicit mapping, or compact all node numbers from 1 (按映射批量改号,或从 1 开始重排全模型节点). For selected nodes, supply BOTH ids and new_ids with equal lengths; each old ID maps to the new ID at the same position. Omit BOTH arguments to intentionally renumber all nodes. Supplying only one is rejected; blank selections, mismatched counts and duplicate IDs are also rejected. (局部改号须同时传入等长、无重复的旧新编号;仅一列或空选择会报错。 两者均省略表示有意全模型重排。) Use update_node_id for one ID, update_node for coordinates plus an ID, or move_nodes for relative offsets. This call writes and refreshes the model, then…
reset_displayRestore the default full-model view (恢复默认显示/全显). Display-only: undoes view filters such as activate_structure and brings every node/element back into view. Does not change model data or results. (纯显示操作:撤销 activate_structure 等视图过滤、恢复显示所有节点/单元;不改模型或结果。) Use set_view_angle for camera direction, set_render for rendering, or switch_display_stage/change_construct_stage for a particular stage. Returns a confirmation (视角、渲染和阶段选择分别使用对应工具,本调用返回确认).
revert_local_orientationReverse the local x-axis of frame elements, swapping their I and J ends (反转杆系单元局部方向,即对调 I/J 端). Writes to the model and refreshes it. FRAME ELEMENTS ONLY (beam/truss/cable). After the swap, "I-end" and "J-end" in every other tool refer to the opposite physical ends of the member. Re-read its connectivity and local-axis-dependent loads, then rerun analysis before interpreting new end forces. The SDK does not promise a sign flip for every result component or automatic transformation of attached loads. Returns a confirmation, not transformed results. When to use vs. siblings: reversing I/J here…
run_analysisRun the structural analysis calculation (执行结构分析计算). Use this after all loads, boundaries, and analysis settings are configured. Solving can take a long time; it runs in a worker thread so the connection stays responsive, with periodic progress heartbeats. Success is reported only when QiaoTong's final solve state is a success; a solve the user terminated in QiaoTong, or any other unfinished state, is an error. 求解可能耗时较长,在工作线程中执行以保持连接不阻塞,并周期性上报进度。 只有桥通报告的最终状态为成功时才报完成;用户在桥通中终止求解等未完成状态均报错。 Args: read_timeout: Max total solve time in seconds, default 3600 (求解总时限秒数;超时抛错,求解本身在…
run_concrete_checkExecute concrete structural checking analysis (运行混凝土检算). Syncs the named check case into the current check data, then runs the code-based verification and waits for the background task to finish. A reported failed/canceled or other non-success state is an error, even when an older SDK returns it without raising an exception. 先将指定检算工况同步为当前检算数据,再运行规范验算并等待后台任务完成。 Use after preparing the named case, checking combinations/reinforcement and required structural results. setup_concrete_check creates the case; configure_check_analysis changes settings; run_analysis performs the structural solve. This…
save_model_fileSave the active QiaoTong model to its native file (保存当前桥通模型). Use before model changes or to create a checkpoint. For an image use save_model_screenshot; this saves the editable model. Requires an open model and a writable path on the machine running QiaoTong. Existing files may be overwritten; the wrapper creates no backup and returns no downloaded file. (路径属于桥通所在机器,已有文件可能被覆盖;不会自动备份或下载。) Args: file_path: Prefer an absolute path on the QiaoTong host. The qtmodel SDK documents .bfmd native files; use the format supported by your QiaoTong version. Relative paths resolve in …
save_model_screenshotCapture a screenshot of the current bridge model view (截取桥梁模型视图). By default returns the image itself so it can be viewed directly. 默认直接返回图像内容,可在客户端预览。 Use to inspect the current model visually. For a requested result contour use plot_analysis_result; save_model_file saves the editable model instead. A connected QiaoTong desktop view is required, but no analysis is started. A preset changes the desktop camera; view_angle="current" keeps it. If setting a valid preset fails, the current view is still captured and the response is text with a warning instead of image content. PNG bytes are retr…
set_check_stirrup_snapshotSet a complete base-model stirrup snapshot (完整设置箍筋快照). Retain exported field capitalization, stored dimensions and zero-based model enums. These differ from legacy check-stirrup tool arguments. When changing an ID, provide original_id so QiaoTong migrates element references; no source ID is inferred. Requires model-write permission. Requires an SDK/bridge exposing the snapshot route. qtmodel 2.9.3 rejects this historical route with API_NOT_OPEN before sending it. Args: definition: Complete UI stirrup snapshot, including inactive fields. original_id: Explicit existing stirrup ID when …
set_element_stirrupsReplace base-model stirrup assignments by family (批量完整替换单元配箍). shear and torsion are separate complete snapshots. None/omitted keeps a family; [] clears it. A zero stirrup ID means unassigned in that direction. The same element may occur in both families, but not twice in one family. References are validated by QiaoTong. Legacy assign_element_stirrup remains available for its existing current-CSAN workflow. Requires an SDK/bridge exposing the snapshot route. qtmodel 2.9.3 rejects this historical route with API_NOT_OPEN before sending it. Args: request: shear five-entry rows and/or torsio…
set_gravitySet the gravitational acceleration used for self-weight (设置重力加速度). Changes the project setting and refreshes the model; it does not run analysis or create a self-weight load case. Use set_self_weight_stage to choose when a structure group's automatic self-weight participates, then run_analysis when new results are required. (本工具改总体重力参数;计自重阶段用 set_self_weight_stage,更新结果需另行分析。) This is a call to mdb.update_project_setting, whose SDK also sends empty project/personnel/date/description fields and reference temperature 0. Existing settings are not read and merged here; preservation of those field…
set_international_live_load_caseAdd or fully replace an international live-load case (完整定义国际活载工况). Validates referenced vehicle names and standards by query before mutation; EN1991 also rejects repeated lane assignments. QiaoTong authoritatively validates lane existence/kind and membership in the influence plane, for which no independent query endpoint exists. Complete factor objects retain native capitalization, units and inactive fields; null uses server defaults. Writes commit once and return the exact case's actual ID. Configure the operating-stage live_load_cases explicitly, then use run_analysis and get_analysis_resul…
set_international_vehicleAdd or fully replace an AASHTO/BS/EN1991 vehicle (完整定义国际车辆). Select the matching system explicitly with configure_live_load_system. Vehicle fields are separated by standard. Omitted/null scalar parameters use new-definition defaults, including on update; this is not a patch. Axles use [N, m] for AASHTO, [kN, m] for EN1991, and unscaled native BS export values (the SDK does not specify the BS axle-force unit). r is a percent. Query results retain inactive native fields; select this standard's fields for this typed tool, or use the gateway for an unchanged full native snapshot. Commits once and…
set_planned_laneAdd or completely replace a planned lane (完整定义规划车道). Requires the dedicated desktop routes. qtmodel 2.9.3 rejects their historical add/update commands with API_NOT_OPEN before sending them. Uses the dedicated planned-lane endpoint, distinct from add_traffic_lane's optimize flag. Every physical field is explicit; lengths use model units. add can overwrite a same-named planned lane. update can rename while preserving references. QiaoTong validates the influence plane and tandem. There is no independent planned-lane getter: after the single commit, inspect a model export/UI. Deletion through th…
set_renderSet solid rendering or wireframe display for the current model view (设置当前模型的实体渲染或线框显示). Display-only: affects how the model is drawn, not model data or results. Pair with save_model_screenshot for solid-shaded captures. (纯显示操作,不改模型或结果;配合 save_model_screenshot 出实体图。) flag selects the requested state; it does not invert the current mode. Omitting it explicitly chooses solid rendering. For camera direction use set_view_angle; display_ids controls labels, and plot_analysis_result chooses result contours. Requires a connected desktop view and returns a confirmation without capturing an image or s…
set_section_reinforcementReplace a complete base-model reinforcement snapshot (完整替换截面配筋). Use a full UI-exported definition including generation parameters AND actual bar points. Every field is required; empty arrays clear that part. Outer/inner rows have six entries, unlike the legacy five-entry tool. Lengths use model units. Native enum/type values must come from the export. Supports ordinary, I/J-end and tapered-group identifiers. This requires model-write permission and commits once. Existing get_check_data results describe current CSAN data and are not a lossless source for this snapshot. Requires an SDK/bridge …
set_self_weight_stageConfigure self-weight for a construction stage (设置施工阶段自重). IMPORTANT — In QiaoTong, self-weight is NOT a load case. It is controlled by each construction stage's "self-weight stage number" per structure group. The solver computes gravity load automatically from section area × material unit weight × g. You only choose WHICH stage carries a group's self-weight. (桥通中自重不是荷载工况,由施工阶段对各结构组的"计自重阶段号"控制, 求解器按 截面面积 × 材料容重 × 重力加速度 自动计算。) For a single-stage / one-shot (一次成桥) model, self-weight is handled when you merge stages via merge_operation_stage — you usually do NOT need this tool. Use it only to o…
set_supportSet fixed/free translational and rotational restraints on existing nodes (为已有节点设置六自由度固定或自由支承). Use for idealized restraints. add_elastic_support defines finite spring stiffness, add_support_settlement applies prescribed displacement as a load, and remove_boundary(kind="support") deletes a support definition. Nodes must exist; group_name identifies a boundary group, not a load case. True fixes a degree of freedom and False leaves it free. The complete six-flag vector is sent on every call, replacing existing restraint settings for the selected nodes. Defaults fix all translations and leave ro…
set_transversal_caseAdd or completely replace a transversal case (完整定义横向工况). Reference existing vehicle/lane IDs obtained from readback. Both are checked before mutation. Factors are dimensionless multipliers; the provider builds the native reduction string. add may overwrite an existing name/ID; update can rename while retaining combination references. This commits a definition without changing operation selections or solving. Args: request: Complete case, IDs, impact multiplier, factors for 1..N lanes, factor for more than N lanes, description, and add/update identity.
set_transversal_laneAdd or completely replace a transversal lane (完整定义横向车道). Node order is retained. Each adjacent pair must already have a direct beam connection; QiaoTong rejects invalid connectivity. No node sorting or beam creation occurs. distribution_widths are fixed meters, mapped to native load_factors. add may overwrite, update may rename; both commit once and return the actual ID after an exact readback. Args: request: Full lane definition with ordered nodes and corresponding distribution widths, plus action and optional identity/rename.
set_transversal_vehicleAdd or completely replace a transversal vehicle (完整定义横向车辆). Requires the China transversal system to be selected explicitly first. add overwrites the same name/ID; update requires an existing vehicle and can rename it while retaining references. Every physical field is required. Fixed kN/m units do not follow display units. Commits once and reads back the actual ID. Never switches systems, clears results or runs analysis. Args: request: Complete vehicle definition, action and optional identity/rename; use get_transversal_data(kind="vehicles") to inspect existing definitions.
set_unitSet the force/length units used for display and reporting (设置显示与报告所用的力/长度单位). Display setting only: it changes the units values are shown in and does NOT rescale model geometry, section properties, or stored data. Set it before taking screenshots or reading displayed quantities. (仅显示设置:只改数值显示单位,不缩放模型几何/截面特性/已存数据;读数或截图前先设好。) Both arguments are sent each time. Omitting one uses its KN or MM default, not the previously selected unit. Use tokens accepted by the target desktop; unsupported units are reported by the bridge. This setting does not change another tool's documented fixed input units o…
set_view_angleSet the 3D view angle of the bridge model (设置三维视角). Use a named preset for a standard orthographic or isometric view. Use angle_preset="custom" when an exact horizontal/vertical rotation in degrees is needed; at least one angle must be supplied, and an omitted companion angle becomes zero. Presets ignore both numeric angle arguments. Changes the QiaoTong camera without changing node coordinates, section orientation or analysis settings. For drawing styles use set_render; for labels use display_ids; save_model_screenshot captures the resulting view. Requires a connected desktop view and retur…
setup_concrete_checkCreate a concrete structural check case (创建混凝土检算工况). Use after defining the model's sections, materials and target structure group. The existing group selects the members to check; standard selects the design code and structure_type the concrete/prestress category. This is case setup, not load creation or the checking solve. Add checking combinations with add_check_load_combination and prepare reinforcement/settings, then use run_concrete_check with the case name. manage_check_case_definition handles complete stored case snapshots; configure_check_analysis changes the current checking settin…
switch_display_stageSwitch the modelling view to a construction stage, BY NAME (按阶段名切换建模视图的施工阶段). Display-only: changes which stage the software shows, and refreshes the model view. It does not re-run the analysis and does not change results. The stage must already exist (add_construction_stage). When to use vs. change_construct_stage: this one takes the stage NAME and drives the modelling view (mdb). change_construct_stage takes an integer stage INDEX and drives the results/post-processing view (odb) — use that when stepping through stages to read results. (纯显示操作:切换软件显示的阶段并刷新视图,不重新求解、不改变结果;阶段须已存在。 选型:本工具收阶段"名…
update_bulking_settingConfigure linear buckling analysis (屈曲分析设定;方法名 bulking 为历史拼写). Writes to the model. Enabling analysis does not run it — call run_analysis afterwards. The misspelling "bulking" is the upstream method name; renaming it would break existing callers. LIMITATION — this tool exposes only the three basic switches. The load-case assignment (constant_cases / variable_cases), whether self-weight is treated as constant or variable, and whether the prestressed or unstressed geometry is used, are reachable only via the escape hatch: call_qtmodel_api(api_object="mdb", method="update_bulking_setting", …
update_construction_stageEdit one construction stage, including activation and deactivation of structure groups, boundary groups and load groups (修改阶段及各类组的激活/钝化). Use this dedicated stage-editing tool for both activation and deactivation: delete_structures, delete_boundaries and delete_loads deactivate groups within this stage while retaining their model definitions. To delete the stage itself use remove_construction_stage; to select a modeling view use switch_display_stage. Create a missing stage with add_construction_stage. name must identify an existing stage and all group references must exist. new_name and dura…
update_elementModify several properties of ONE element in a single call (修改单元属性). Writes to the model and refreshes it. The underlying qtmodel API overwrites the record, so this tool reads the current element once and fills omitted fields present in that record. A missing/ambiguous element or missing applicable field fails before writing. SDK query objects may themselves fill absent backend fields with defaults; use targeted update tools when the original record cannot be verified. One caveat: it handles ONE element — old_id is a single ID, not a range. Both node_i and node_j are needed to replace connect…
update_element_betaChange the beta angle of one or more elements (修改单元贝塔角). The beta angle controls the local axis orientation of a beam/truss element. 贝塔角控制单元局部坐标系方向。 Use revert_local_orientation to reverse I/J instead; use update_element for several properties on one element. This sets an absolute angle, not an angular increment, and returns a confirmation without solving. (绝对角赋值;对调端点用 revert_local_orientation,多字段修改用 update_element。) Args: ids: Element ID(s). Supports int, list, or range string. (单元编号,支持整数、列表或范围字符串) beta: New beta angle in degrees (新贝塔角,单位:度) Example: update_element_bet…
update_element_idRenumber one element, leaving all its properties untouched (仅修改单元编号). Writes to the model and refreshes it. Only the ID changes — this is the narrow, single-purpose tool. When to use vs. siblings: renumbering ONE element here; changing properties and ID together → update_element (it re-reads the element's current data first, so it costs an extra model query); renumbering MANY elements, or compacting all element numbers from 1 → renumber_elements. (写模型并刷新。只改编号、不动任何属性,是单一用途的窄工具。选型:改一个单元的 编号用本工具;要连带改属性用 update_element(它会先读回当前单元数据补齐, 多一次模型查询);批量改号或把全部单元号从 1 起重排用 renumber_elements。) Args: o…
update_element_materialChange the material of one or more elements (修改单元材料). Requires an existing material and elements. For several properties on one element use update_element; this targeted batch operation does not read and rebuild the whole element record. Returns a confirmation after refresh, with no solve (单字段批量赋值;单个单元多字段修改用 update_element). Args: ids: Element ID(s). Supports int, list, or range string '1to50'. (单元编号,支持整数、列表或范围字符串) mat_id: New material ID; query get_model_data(kind="materials") for valid IDs (新材料编号,先查询已有材料) Example: update_element_material("1to20", mat_id=2)
update_element_nodesReconnect a frame element to different end nodes (改接杆系单元的端节点). Writes to the model and refreshes it. Changes only the connectivity — material, section and beta angle are left alone. Both nodes must already exist. Reconnecting changes the element's geometry. Verify length-based settings and local-axis loads, then solve again; this call does not itself recompute results or explicitly update a cable's unstressed length. Returns the requested connectivity in a confirmation, not a read-back. FRAME ELEMENTS ONLY (beam/truss/cable, 2 nodes). Plate elements need 4 nodes, which this tool cannot expre…
update_element_sectionChange the section of one or more frame elements (修改杆系单元截面). Requires an existing section and frame elements. For a plate thickness or several properties on one element use update_element. This calls the frame-section endpoint directly; returns a confirmation after refresh, without solving (杆系截面批量赋值;板厚或多字段修改用 update_element). Args: ids: Element ID(s). Supports int, list, or range string '1to50'. (单元编号,支持整数、列表或范围字符串) sec_id: New section ID; query get_model_data(kind="sections") for valid IDs (新截面编号,先查询已有截面) Example: update_element_section("1to30", sec_id=2)
update_nodeModify an existing node's coordinates and/or ID (修改节点坐标或编号). Writes to the model and refreshes it. The underlying qtmodel API overwrites all three coordinates, so when any of x/y/z is omitted this tool reads the current position once and fills the omitted components. That read fails if the node is missing. Supplying all three coordinates skips the extra read; the bridge then validates the target node. When to use vs. siblings: coordinates (with or without a new ID) here; renumbering only → update_node_id (no read-back, cheaper); shifting nodes by a relative offset rather than to absolute coo…
update_node_idRenumber one node, leaving its coordinates untouched (仅修改节点编号). Writes to the model and refreshes it. Only the ID changes — this is the narrow, single-purpose tool. When to use vs. siblings: renumbering ONE node here; moving a node or changing coordinates and ID together → update_node (it reads current coordinates only when some coordinate components are omitted); renumbering MANY nodes, or compacting all node numbers from 1 → renumber_nodes. (写模型并刷新。只改编号、不动坐标,是单一用途的窄工具。选型:改一个节点的编号 用本工具;要改坐标、或同时改坐标和编号用 update_node(省略部分坐标时多一次 模型查询补齐);批量改号或把全部节点号从 1 起重排用 renumber_nodes。) Returns a confirmati…
update_section_biasChange the alignment and eccentricity of an existing section definition (修改已有截面定义的对齐和偏心设置). Select a saved section ID, not an element ID. Use this to position the section relative to its reference axis; update_element_section changes which section an element uses, and update_element_beta rotates an element. Read get_model_data(kind="sections") to identify the intended definition. bias_type selects a named alignment. Supply bias_point only for the custom alignment; its two components use the section-plane coordinates and length convention shown in the bridge. For a tapered section, side_i sel…
update_section_propertyDirectly modify the calculated properties of a section (直接修改截面特性值). Use this to manually override Area, Ix, Iy, Iz etc. after creation. Typically used for fine-tuning or correcting auto-calculated values. (用于手动覆盖截面面积、惯性矩等自动计算值) Use a verified complete property table for an existing section. To inspect stored values use get_model_data(kind="section_property", sec_id=...); calc_section_property evaluates supplied geometry, while calculate_section_property recalculates the whole model's sections. The array replaces the entire 26- or 29-value table in native UI order; it is not a list of only c…
update_structure_group_nameRename an existing structure group (重命名结构组). Use when retaining a group's membership but changing its label. For a new group use create_structure_group; to change members use add_to_structure_group or remove_from_structure_group. Read existing group names first and provide the exact old name and intended new name. Writes the rename, refreshes the model and returns a confirmation. The bridge handles name collisions and dependent stage references; this wrapper does not preflight them. After renaming, use the new name in later operations and inspect list_group_members and affected stages before…
update_vertical_steel_tendonSet the current concrete-check case's vertical prestress reinforcement parameters in SI units (用 SI 单位设置当前混凝土检算的竖向预应力钢束参数). Use in the checking workflow established by setup_concrete_check. This sets checking parameters; create_tendon_property and create_tendon_2d define model tendons, while apply_prestress adds their structural load. Every call sends all five values. Omitted parameters use the listed defaults instead of preserving previous settings, so supply the complete desired configuration when changing an existing case. area is for ONE limb, not the total across limbs_number; spacing i…
validate_modelValidate the current model for common issues before running analysis (验证模型,在运行分析前检查常见问题). Checks for: - Missing nodes/elements/materials (缺失的节点/单元/材料) - Overlapping nodes (重合节点) - Overlapping elements (重合单元) Use after model edits and before run_analysis for a basic consistency review. get_model_status reports whether operations are currently allowed; get_model_data supplies detailed records. This check only reads the model and never merges duplicates, creates missing entities or starts a solver. Returns a text report with a pass/fail label, model counts, errors and warnings. Missing all nod…
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Weekly downloads
- 54
- Last commit
- Oct 19, 2026 (12 days ago)
- Last release
- Oct 19, 2026 (12 days ago)
- Last package publish
- Oct 15, 2026 (16 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.SorataYang/qiao-mcp- Version
- 0.3.1
- Auth
- No auth
- Packages
- pypi qiao-mcp
- License
- Apache-2.0
- Repository
- github.com/SorataYang/qiao-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get Qiao-MCP — Bridge Engineering (桥梁工程) running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
Qiao-MCP — Bridge Engineering (桥梁工程). Agent Mart. https://agentmart.dev/connectors/soratayang-qiao-mcp (last updated 2026-10-24)