{"ok":true,"resource":{"id":"sand3d--simready--simready-paint_container_bottle_red_a03","sourceId":"sandflow-sand3d","sourceAssetId":"simready:paint_container_bottle_red_a03","name":"Paint Container Bottle Red A03 (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-paint_container_bottle_red_a03.png","detailImageUrl":"https://sandflow-sand3d-explorer.hf.space/r/simready-paint_container_bottle_red_a03.png","sourcePreviewUrl":"https://huggingface.co/datasets/SZFSPC/techidaily-resources/resolve/ba1baf9d89ddf57433d7c47cb461f6d8883067a1/usda/0003/simready-paint_container_bottle_red_a03.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-paint_container_bottle_red_a03.usda","format":"usda","sizeBytes":50000,"sha256":"c86be1acb02a01a65ba64dd11273fd06a2bdad77513a59ddc9813e24a47dc872","url":"https://huggingface.co/datasets/SZFSPC/techidaily-resources/resolve/ba1baf9d89ddf57433d7c47cb461f6d8883067a1/usda/0003/simready-paint_container_bottle_red_a03.usda"}],"sand3d":{"datasetRepo":"Sandflow/sand3d-simready","subcollection":"simready","totalInDataset":2334,"entryFunction":"dropper_bottle","nJoints":0,"fScore":0.9598,"program":"import sand3d as s3d\n\n\ndef dropper_bottle():\n    base = s3d.at(bottle(), z=0.3)\n    lid = s3d.at(cap(), z=44)\n    return s3d.assembly(\"dropper_bottle\", base, lid)\n\n\ndef bottle(r=25, base=5.7, side=33, shoulder=42, neck=54, inner=21, bore=13, rim=17, round_r=2):\n    profile = s3d.poly([(0, 0), (r-round_r, 0), s3d.tangent_arc(to=(r, round_r)), (r, side), s3d.spline([(r, side), (r-1, side+4), (rim, shoulder)]), (rim, neck), (bore, neck), (bore, shoulder), (inner, side), (inner, base+round_r), s3d.tangent_arc(to=(inner-round_r, base)), (0, base)])\n    solid = s3d.revolve(\"glass_bottle\", profile)\n    s3d.material(solid, \"glass\", color=\"#643719\")\n    return s3d.group(\"bottle\", solid)\n\n\ndef cap(r=18, h=25, barrel=10, wall=1.5, ceiling=4, neck_r=16, bead=2, pitch=5):\n    solid = s3d.at(s3d.cylinder(\"cap_barrel\", d=r*2, h=h-barrel), z=barrel)\n    s3d.fillet(solid, r=1, edges=\"top\")\n    tool = s3d.cylinder(\"cap_cavity\", d=(r-wall)*2, h=h-ceiling)\n    solid = s3d.cut(solid, tool)\n    band = s3d.revolve(\"neck_bands\", s3d.poly([(neck_r-wall, 0), (neck_r+bead, 0), (neck_r+bead, bead/2), (neck_r, bead), (neck_r, pitch), (neck_r+bead/2, pitch+bead/2), (neck_r, pitch+bead), (neck_r, barrel+wall), (neck_r-wall, barrel+wall)]))\n    solid = s3d.join(solid, band)\n    s3d.material(solid, \"plastic\", color=\"#181818\")\n    bulb = s3d.at(dropper_bulb(), z=23.7)\n    return s3d.group(\"cap\", solid, bulb)\n\n\ndef dropper_bulb(r=8, foot=9, h=24.6, dome=7, flare=3):\n    profile = s3d.poly([(0, 0), (foot, 0), (foot, flare/2), s3d.spline([(foot, flare/2), (r, flare), (r, h-dome)]), s3d.spline([(r, h-dome), (r-1, h-3), (r/2, h-0.5), (0, h)]), (0, 0)])\n    solid = s3d.revolve(\"rubber_bulb\", profile)\n    s3d.material(solid, \"rubber\", color=\"#232323\")\n    return s3d.group(\"dropper_bulb\", solid)","usdaPath":"usda/0003/simready-paint_container_bottle_red_a03.usda","programSha256":"23d44a965ff6db46cdb3243be4dacb9c70ebba017bc1ab87a9313c3747b546a4","explorerUrl":"/resources/explorer?oid=simready-paint_container_bottle_red_a03","glbUrl":"https://sandflow-sand3d-explorer.hf.space/glb/simready-paint_container_bottle_red_a03.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-paint_container_bottle_red_a03.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: 0.9598)."],"requiredNextSteps":["Check materials, scale, performance and required file conversion in your target renderer."]}}