{"ok":true,"resource":{"id":"sand3d--articraft--articraft-rec_hand_truck_dolly_a0811127cdc4405e9315b1308f871f52","sourceId":"sandflow-sand3d","sourceAssetId":"articraft:rec_hand_truck_dolly_a0811127cdc4405e9315b1308f871f52","name":"ARTICRAFT Rec Hand Truck Dolly A0811127C (Sand3D Program)","category":"industrial","publisher":"Sandflow","formats":["py","usda","glb"],"fileCount":2,"sizeBytes":823521,"kind":"3d-code","license":"CC-BY-4.0","revision":"ba1baf9d89ddf57433d7c47cb461f6d8883067a1","sourceUrl":"https://huggingface.co/datasets/Sandflow/sand3d-articraft","entryUrl":"https://huggingface.co/datasets/SZFSPC/techidaily-resources/resolve/ba1baf9d89ddf57433d7c47cb461f6d8883067a1/usda/0002/articraft-rec_hand_truck_dolly_a0811127cdc4405e9315b1308f871f52.usda","thumbnailUrl":"https://sandflow-sand3d-explorer.hf.space/r/articraft-rec_hand_truck_dolly_a0811127cdc4405e9315b1308f871f52.png","detailImageUrl":"https://sandflow-sand3d-explorer.hf.space/r/articraft-rec_hand_truck_dolly_a0811127cdc4405e9315b1308f871f52.png","sourcePreviewUrl":"https://huggingface.co/datasets/SZFSPC/techidaily-resources/resolve/ba1baf9d89ddf57433d7c47cb461f6d8883067a1/usda/0002/articraft-rec_hand_truck_dolly_a0811127cdc4405e9315b1308f871f52.png","capabilities":["Sand3D (Code)","UsdPhysics","Kinematics Joint Articulation","Parametric Reconstruction"],"capabilityEvidence":"sand3d-program-analysis","runtimeValidation":"not-tested","classificationEvidence":"family-taxonomy-mapping","storageStatus":"hf-mirror-tree-verified","packageHash":"801531a3fa141f151be2dbabe15a2dc866efc47f5b80426dad86fbda146cefbd","contentHash":"f85805d9c6d8582285f47111463b0cf807db11b28790465d5c7b9da0b6b04286","checkedAt":"2026-11-06T14:00:00.000Z","aiGenerated":false,"attribution":"Sandflow Sand3D Library; CC-BY-4.0","evidence":{"license":{"spdx":"CC-BY-4.0","url":"https://creativecommons.org/licenses/by/4.0/","location":"datasets/Sandflow/sand3d-articraft/LICENSE"},"commercialPermitted":true,"notes":"Parametric 3D object from Sandflow/sand3d-articraft (9,209 objects). Pinned revision 1d07bda."},"outputFiles":[{"path":"usda/0002/articraft-rec_hand_truck_dolly_a0811127cdc4405e9315b1308f871f52.usda","format":"usda","sizeBytes":50000,"sha256":"801531a3fa141f151be2dbabe15a2dc866efc47f5b80426dad86fbda146cefbd","url":"https://huggingface.co/datasets/SZFSPC/techidaily-resources/resolve/ba1baf9d89ddf57433d7c47cb461f6d8883067a1/usda/0002/articraft-rec_hand_truck_dolly_a0811127cdc4405e9315b1308f871f52.usda"}],"sand3d":{"datasetRepo":"Sandflow/sand3d-articraft","subcollection":"articraft","totalInDataset":9209,"entryFunction":"hand_truck","nJoints":2,"fScore":0.9744,"program":"import sand3d as s3d\n\n\ndef hand_truck():\n    frame = hand_truck_frame()\n    left = hand_truck_wheel()\n    right = hand_truck_wheel()\n    lf = s3d.local(frame, x=-220, y=-100, z=125)\n    left = s3d.at(left, on=lf)\n    s3d.joint(\"left_wheel_joint\", left, lf, kind=\"continuous\", axis=\"-X\")\n    rf = s3d.local(frame, x=220, y=-100, z=125)\n    right = s3d.at(right, on=rf)\n    s3d.joint(\"right_wheel_joint\", right, rf, kind=\"continuous\", axis=\"-X\")\n    return s3d.assembly(\"hand_truck\", frame, left, right)\n\n\ndef hand_truck_frame():\n    plate = s3d.at(s3d.extrude(\"frame_visual\", s3d.rect(400, 250), 10, both=True), y=125, z=5)\n    rails = s3d.at(s3d.extrude(\"rail_l\", s3d.circle(30), 1200), x=-150)\n    rail_r = s3d.at(s3d.extrude(\"rail_r\", s3d.circle(30), 1200), x=150)\n    bars = [\n        s3d.at(\n            s3d.extrude(\n                \"crossbar\", s3d.circle(25), 300, both=True, on=s3d.Frame((0, 0, z), (1, 0, 0))\n            )\n        )\n        for z in (300, 600, 900)\n    ]\n    supports = [\n        s3d.at(s3d.extrude(\"support\", s3d.circle(30), 120, on=s3d.Frame((x, 10, 125), (0, -1, 0))))\n        for x in (-150, 150)\n    ]\n    axle = s3d.at(\n        s3d.extrude(\"axle\", s3d.circle(20), 250, both=True, on=s3d.Frame((0, -100, 125), (1, 0, 0)))\n    )\n    handrail = s3d.wire(\n        \"handrail\",\n        s3d.spline([(-150, 0, 1200), (-150, 0, 1350), (150, 0, 1350), (150, 0, 1200)]),\n        30,\n    )\n    s3d.join(plate, rails, rail_r, bars, supports, axle, handrail)\n    s3d.material(plate, \"steel\", color=\"#555555\")\n    return s3d.group(\"frame\", plate)\n\n\ndef hand_truck_wheel():\n    wheel = s3d.extrude(\"wheel_visual\", s3d.circle(250), 60, both=True)\n    wheel = s3d.at(wheel, ry=90)\n    s3d.material(wheel, \"rubber\", color=\"#444444\")\n    return s3d.group(\"wheel\", wheel)","usdaPath":"usda/0002/articraft-rec_hand_truck_dolly_a0811127cdc4405e9315b1308f871f52.usda","programSha256":"f85805d9c6d8582285f47111463b0cf807db11b28790465d5c7b9da0b6b04286","explorerUrl":"/resources/explorer?oid=articraft-rec_hand_truck_dolly_a0811127cdc4405e9315b1308f871f52","glbUrl":"https://sandflow-sand3d-explorer.hf.space/glb/articraft-rec_hand_truck_dolly_a0811127cdc4405e9315b1308f871f52.glb"},"downloadUrl":"https://huggingface.co/datasets/SZFSPC/techidaily-resources/tree/ba1baf9d89ddf57433d7c47cb461f6d8883067a1/usda/0002","mirror":{"repository":"SZFSPC/techidaily-resources","revision":"ba1baf9d89ddf57433d7c47cb461f6d8883067a1","checkedAt":"2026-11-06T14:00:00.000Z","verification":"official-huggingface-dataset-parquet-manifest"}},"analysis":{"suitability":"candidate-needs-runtime-validation","useCase":"scene-building","evidence":{"formats":"sand3d-python-program-and-openusd-manifest","capabilities":"sand3d-program-analysis","category":"family-taxonomy-mapping"},"limitations":["Runtime compatibility and physical behavior have not been tested by TechIDaily.","Sand3D programs export OpenUSD with UsdPhysics joints; requires sand3d library and Python 3.13 for direct execution.","Mirror verification checks Git tree identity and sampled delivery, not an independent rehash of every payload.","Follow source-specific licensing and attribution. Other rights may apply; no endorsement is implied.","Parametric Python reconstruction available (2 articulated joints, F-score: 0.9744)."],"requiredNextSteps":["Check materials, scale, performance and required file conversion in your target renderer."]}}