Truss Force Lab

Truss Force Lab

Build an ideal planar pin-jointed truss from straight two-force members. Enter joint positions in mm, signed joint loads and support restraints. The solver assembles all joint x/y equilibrium equations: positive member force means tension and negative means compression; positive load and reaction components point right or up. Only a unique, well-conditioned determinate system receives forces. Counting members plus reaction components against twice the joints is necessary but not sufficient, so matrix rank also checks geometry and support directions. This preliminary statics model does not evaluate deflection, buckling, construction or structural safety.

1. Build a pin-jointed truss

Positions and lengths use mm. Joint loads use selected N/kN; +x is right and +y is up. Apply loads only at joints.

Joints, loads and supports

Pin = x+y reactions. X roller = x only; Y roller = y only. Removing a joint also removes its members.

Joint A
Joint B
Joint C

Straight axial members

A member joins two listed joints. Crossing drawn bars do not connect unless you add a joint.

Member AB
Member AC
Member BC

3. Restore a project

Open or paste strict version-1 JSON up to 64 kB. Duplicate keys, unknown endpoints, repeated edges and invalid values preserve the current project.

Edit the triangle and analyze.

Comments & questions

Truss Force Lab

Build an ideal planar pin-jointed truss from straight two-force members. Enter joint positions in mm, signed joint loads and support restraints. The solver assembles all joint x/y equilibrium equations: positive member force means tension and negative means compression; positive load and reaction components point right or up. Only a unique, well-conditioned determinate system receives forces. Counting members plus reaction components against twice the joints is necessary but not sufficient, so matrix rank also checks geometry and support directions. This preliminary statics model does not evaluate deflection, buckling, construction or structural safety.

Key features

  • Actual 2D joint-equilibrium matrix with axial member and support-reaction columns
  • N/kN load selection that preserves physical load on unit changes; both output units and mm geometry
  • Separate underrestrained, statically indeterminate and equal-count singular diagnoses
  • Matrix/augmented rank, numerical pivot guard and joint/global force/moment residuals
  • Editable joints, supports, loads and members with four examples and strict JSON restore
  • Labeled SVG, member/reaction CSV, full result JSON and project JSON

How to use

  1. Enter joint x/y positions in mm and right/up positive joint loads in N or kN.
  2. Select a pin (x+y reactions), X roller (x only), Y roller (y only) or free joint.
  3. Connect distinct joints with straight members; drawn crossings are not connections unless a joint is defined.
  4. Analyze unknown count m+r versus 2j and matrix rank. Only a unique well-conditioned system has numeric forces.
  5. Read positive tension, negative compression and signed reactions; inspect residuals, then download or restore local files.

Use cases

  • Teach the method of joints with a hand-checkable triangle
  • Show why m+r=2j cannot prove a collinear truss stable
  • Compare a missing member with a redundant support
  • Inspect force balance after changing a joint load

Frequently asked questions

What is modeled?

Straight ideal two-force members joined by frictionless planar pins, with loads only at joints. A pin resists x and y, while a roller resists only the chosen global axis. Member bending and distributed loads are excluded.

How are force signs interpreted?

Positive member force pulls away from both joints (tension); negative means compression. Positive external and reaction components point right (+x) or up (+y).

Does m+r=2j prove stability?

No. It counts unknowns and equations but misses dependent supports, collinear bars or mechanisms. The actual equilibrium matrix must have full rank; equal-count rank defects are reported as singular without invented forces.

What about underrestrained or indeterminate structures?

Fewer unknowns than 2j means underrestrained. More unknowns with full row rank are statically indeterminate because equilibrium does not select unique forces. Rank-deficient systems are unstable or dependent. No stiffness or compatibility analysis is performed.

What are the units and residuals?

Joint positions and bar lengths use mm. Loads may be entered in N or kN; switching units preserves physical load. Results show both. Joint residuals are ΣFx/ΣFy in N; global moment residual is N·mm about the first joint.

Can this certify a real truss?

No. Strength, buckling, joints, load combinations, deflection, wind/seismic effects, fabrication, codes, site safety and professional review are outside this preliminary equilibrium tool.

Is my truss uploaded?

No. The browser calculates locally. Files are generated only when downloaded, and JSON restore reads a local or pasted project.

Privacy

Joints, loads, supports and results remain in this browser tab. Downloads are local; no truss model is submitted to an application API.

Related Tools

Mechanism Linkage LabGeometry Construction LabUnit ConverterWasm Module InspectorHreflang Matrix CheckerAST Query PlaygroundContainer Build GraphDependency Graph ExplorerSemver Range LabCron Schedule AuditorPatch Review WorkbenchSource Map ExplorerLocalization Catalog AuditorStructured Data ReviewerHTTP Archive AnalyzerWebhook Signature LabProtobuf Schema WorkbenchGraphQL Schema LabAvro Schema EvolutionLocal SQL WorkbenchSchema Form BuilderMesh Repair WorkbenchPipe Network LabRobot Arm Kinematics LabThermal Network LabBeam Response LabGear Train DesignerTolerance Stackup LabSensor Calibration FitPCB Stackup PlannerDigital Filter DesignerNetwork Reachability MapSun Shadow MapGPS Error SimulatorDigital Logic SimulatorAnalog Circuit LabAnalysis Mesh GeneratorOpenAPI Contract InspectorDatabase Migration PlannerDimensional Equation CheckerBoolean Minimization LabControl Response LabQueueing Simulation LabGeofence Event SimulatorCoordinate Reference LabSurvey Traverse LabRaster Classification LabChoropleth Design LabMap Print ComposerRaster Reprojection LabElevation Contour MakerTerrain Viewshed LabWatershed DelineatorMap Tile PackagerText File Encoding WorkbenchFilesystem Portability AuditorSBOM License ExplorerFile Signature Auditornpm Lockfile Conflict ResolverSource Secret AuditorOffline Web Package BuilderCertificate Chain InspectorTorrent Metainfo InspectorChunked File PackagerEncrypted File VaultDuplicate File FinderArchive WorkbenchDesign Token ManagerSpacing Token DesignerResponsive Type SystemPackaging Dieline DesignerSVG Icon Sprite PackerFlex Layout PlaygroundCSS Grid PlaygroundRegex Equivalence LabMarkdown Repository AuditorLog Template MinerResponsive Layout AuditorEmail Template PreviewInternal Link GraphState Machine TesterPetri Net SimulatorGit History VisualizerCurl Request WorkbenchBinary Protocol DesignerHex File EditorBinary Patch WorkbenchFile Signature WorkbenchAPI Mock SandboxSchema Column MapperEvent Log SessionizerER Diagram DesignerTime Series Gap AuditorStratified Data SplitterData Lineage DesignerDecision Tree LabData Anonymization WorkbenchData Expectation RunnerJSON Schema ValidatorBasket Pattern AnalyzerRobots Policy TesterSEO HTML AuditorAccessibility Structure AuditorSyndication Feed WorkbenchIndexNow Payload BuilderCrawl Log AnalyzerCSP Policy WorkbenchSearch Performance AnalyzerCSV Formula Risk AuditorCORS Response SimulatorCache Header LabCookie Policy InspectorWeb Vitals Trace LabSitemap Health AuditorBatch File RenamerFile Manifest VerifierFolder Space MapFolder Difference ReviewerRoute Order OptimizerGeoJSON Map EditorPolygon Overlay LabCartographic Label PlacerSpatial Table JoinGeoJSON Topology AuditorGPX Track AnalyzerTrack Privacy RedactorCSV Table JoinCSV Pivot WorkbenchScientific Data ProfilerTabular Cleaning WorkbenchRecord ReconciliationData Dictionary BuilderCanonical Graph AuditorRedirect Plan TesterHTTP response and ping reference testBrowser and System InformationJSON ↔ YAML ConverterXML ↔ JSON ConverterHTML FormatterJavaScript MinifierMock Data Generator.gitignore GeneratorLicense GeneratorUser-Agent ParserPassword Strength CheckerCode to ImageXML FormatterHTTP Status Code LookupMIME Type LookupJS & SQL String EscapeCSS Box Shadow GeneratorCSS Gradient GeneratorIndent ConverterNumber Base ConverterUnicode Escape ConverterUnicode InspectorJSON Structure DiffMarkdown Table GeneratorBase64 EncoderJSON FormatterURL EncoderSQL FormatterCron Expression GeneratorRegex TesterUUID GeneratorHash GeneratorTimestamp ConverterJWT DecoderHTML Entity ConverterMarkdown PreviewCSS MinifierMeta Tag GeneratorJSON ↔ CSVCase ConverterImage to Base64
Explore all Dev Tools tools →Image/Media →Text/Convert →Life/Fun →