{"ok":true,"resource":{"id":"sand3d--simready--simready-measurement_ruler_speedsquare_a02","sourceId":"sandflow-sand3d","sourceAssetId":"simready:measurement_ruler_speedsquare_a02","name":"Measurement Ruler Speedsquare A02 (Sand3D Program)","category":"industrial","publisher":"Sandflow","formats":["py","usda","usd","glb"],"revision":"ba1baf9d89ddf57433d7c47cb461f6d8883067a1","sourceUrl":"https://huggingface.co/datasets/Sandflow/sand3d-simready","thumbnailUrl":"https://sandflow-sand3d-explorer.hf.space/r/simready-measurement_ruler_speedsquare_a02.png","detailImageUrl":"https://sandflow-sand3d-explorer.hf.space/r/simready-measurement_ruler_speedsquare_a02.png","sourcePreviewUrl":"https://huggingface.co/datasets/SZFSPC/techidaily-resources/resolve/ba1baf9d89ddf57433d7c47cb461f6d8883067a1/usda/0003/simready-measurement_ruler_speedsquare_a02.png","checkedAt":"2026-11-06T14:00:00.000Z","licenseStatus":"manifest-and-text-checked","storageStatus":"hf-mirror-tree-verified","attribution":"Sandflow (Sand3D: 3D-as-Code Ecosystem)","evidence":{"license":{"spdx":"CC-BY-4.0","url":"https://creativecommons.org/licenses/by/4.0/","location":"datasets/Sandflow/sand3d-simready/LICENSE"},"commercialPermitted":true,"notes":"Parametric 3D object from Sand3D SimReady (Robotics & Simulation) (2,334 total). Pinned revision ba1baf9."},"outputFiles":[{"path":"usda/0003/simready-measurement_ruler_speedsquare_a02.usda","format":"usda","sizeBytes":50000,"sha256":"c86be1acb02a01a65ba64dd11273fd06a2bdad77513a59ddc9813e24a47dc872","url":"https://huggingface.co/datasets/SZFSPC/techidaily-resources/resolve/ba1baf9d89ddf57433d7c47cb461f6d8883067a1/usda/0003/simready-measurement_ruler_speedsquare_a02.usda"}],"sand3d":{"datasetRepo":"Sandflow/sand3d-simready","subcollection":"simready","totalInDataset":2334,"entryFunction":"triangle_ruler","nJoints":0,"fScore":1,"program":"import sand3d as s3d\n\n\ndef triangle_ruler():\n    plate = s3d.at(frame_plate(), x=0.6, y=-17.5, z=0.1)\n    return s3d.assembly(\"triangle_ruler\", plate)\n\n\ndef frame_plate(h=5.2, outer_a=(-101.6,97.5), outer_b=(102.1,173.5), outer_c=(6.4,-169.5), outer_d=(-1.6,-173.5), inner_a=(-63.6,80.5), inner_b=(-1.6,-86.5), inner_c=(55.4,124.5), corner=3):\n    plate = s3d.extrude(\"plate\", s3d.poly([outer_a, outer_b, outer_c, outer_d]), h=h)\n    opening = s3d.extrude(\"opening\", s3d.poly([inner_a, inner_b, inner_c], fillet=corner), h=h*3)\n    opening = s3d.at(opening, z=-h)\n    plate = s3d.cut(plate, opening)\n    s3d.material(plate, \"plastic\", color=\"#e6e6e6\")\n    ridge = s3d.at(raised_ridge(), x=-34.6, y=-30.5, z=h-0.3)\n    return s3d.group(\"frame_plate\", plate, ridge)\n\n\ndef raised_ridge(w=36, length=278, h=2.64, angle=20.1, end_trim=20):\n    profile = s3d.poly([(-w/2,0),(-w/2,h*0.75),s3d.spline([(-w/2,h*0.75),(-w*0.32,h), (0,h*0.22),(w*0.32,h),(w/2,h*0.85)]),(w/2,0)])\n    rail = s3d.extrude(\"ridge\", profile, h=length)\n    rail = s3d.at(rail, rx=90, y=length/2)\n    clip = s3d.extrude(\"end_tapers\", s3d.poly([(-w/2,-length/2),(w/2,-length/2+end_trim*3),(w/2,length/2),(-w/2,length/2-end_trim)]), h=h*2)\n    rail = s3d.intersect(rail, clip)\n    s3d.material(rail, \"plastic\", color=\"#e6e6e6\")\n    return s3d.at(s3d.group(\"raised_ridge\", rail), rz=angle)","usdaPath":"usda/0003/simready-measurement_ruler_speedsquare_a02.usda","programSha256":"22e781705345101332d49c4b0bf7e327719cb0751a19bdc3816a4507a304c32f","explorerUrl":"/resources/explorer?oid=simready-measurement_ruler_speedsquare_a02","glbUrl":"https://sandflow-sand3d-explorer.hf.space/glb/simready-measurement_ruler_speedsquare_a02.glb"},"capabilities":["Sand3D (Code)","UsdPhysics","Kinematics Joint Articulation","Parametric Reconstruction"],"runtimeValidation":"not-tested","kind":"3d-code","license":"CC-BY-4.0","sizeBytes":1024,"entryUrl":"https://huggingface.co/datasets/SZFSPC/techidaily-resources/resolve/ba1baf9d89ddf57433d7c47cb461f6d8883067a1/usda/0003/simready-measurement_ruler_speedsquare_a02.usda","downloadUrl":"https://huggingface.co/datasets/SZFSPC/techidaily-resources/tree/ba1baf9d89ddf57433d7c47cb461f6d8883067a1/usda/0003","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":{"license":"manifest-and-text-checked","formats":"sand3d-python-program-and-openusd-manifest"},"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 (0 articulated joints, F-score: 1)."],"requiredNextSteps":["Check materials, scale, performance and required file conversion in your target renderer."]}}