{"ok":true,"resource":{"id":"sand3d--articraft--articraft-rec_articulated_task_lamp_0011","sourceId":"sandflow-sand3d","sourceAssetId":"articraft:rec_articulated_task_lamp_0011","name":"Rec Articulated Task Lamp 0011 (Sand3D Program)","category":"industrial","publisher":"Sandflow","formats":["py","usda","glb"],"fileCount":2,"sizeBytes":249578,"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_articulated_task_lamp_0011.usda","thumbnailUrl":"https://sandflow-sand3d-explorer.hf.space/r/articraft-rec_articulated_task_lamp_0011.png","detailImageUrl":"https://sandflow-sand3d-explorer.hf.space/r/articraft-rec_articulated_task_lamp_0011.png","sourcePreviewUrl":"https://huggingface.co/datasets/SZFSPC/techidaily-resources/resolve/ba1baf9d89ddf57433d7c47cb461f6d8883067a1/usda/0002/articraft-rec_articulated_task_lamp_0011.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":"f795e44afd896258cd755be7397b59705d71b73cc64a48a97c9623cb9c8b71d8","contentHash":"05fdf419ebcb527d9d9b4132213680a98c38eae4c5fa4c1e473137746d2db19d","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_articulated_task_lamp_0011.usda","format":"usda","sizeBytes":50000,"sha256":"f795e44afd896258cd755be7397b59705d71b73cc64a48a97c9623cb9c8b71d8","url":"https://huggingface.co/datasets/SZFSPC/techidaily-resources/resolve/ba1baf9d89ddf57433d7c47cb461f6d8883067a1/usda/0002/articraft-rec_articulated_task_lamp_0011.usda"}],"sand3d":{"datasetRepo":"Sandflow/sand3d-articraft","subcollection":"articraft","totalInDataset":9209,"entryFunction":"wall_task_lamp","nJoints":3,"fScore":1,"program":"import sand3d as s3d\nimport math\n\n\ndef wall_task_lamp():\n    wall = wall_mount()\n    upper = upper_arm()\n    f1 = s3d.local(wall, 42, 0, 220)\n    upper = s3d.at(upper, on=f1)\n    s3d.joint(\n        \"shoulder_hinge\", upper, f1, kind=\"revolute\", axis=\"+Y\", range=(0, math.degrees(1.15))\n    )\n    fore = forearm()\n    f2 = s3d.local(upper, 229, 0, 0)\n    fore = s3d.at(fore, on=f2)\n    s3d.joint(\n        \"elbow_hinge\",\n        fore,\n        f2,\n        kind=\"revolute\",\n        axis=\"+Y\",\n        range=(math.degrees(-1.05), math.degrees(0.20)),\n    )\n    sh = shade()\n    f3 = s3d.local(fore, 191, 0, 0)\n    sh = s3d.at(sh, on=f3)\n    s3d.joint(\n        \"shade_pivot\",\n        sh,\n        f3,\n        kind=\"revolute\",\n        axis=\"+Y\",\n        range=(math.degrees(-0.85), math.degrees(0.65)),\n    )\n    return s3d.assembly(\"wall_task_lamp\", wall, upper, fore, sh)\n\n\ndef wall_mount():\n    a = s3d.material(\n        s3d.extrude(\"backplate\", s3d.rect(16, 90), 220, both=True), \"painted_metal\", color=\"#2e3036\"\n    )\n    b = s3d.material(\n        s3d.extrude(\"spine_rib\", s3d.rect(18, 34), 100, both=True), \"painted_metal\", color=\"#2e3036\"\n    )\n    c = s3d.material(\n        s3d.extrude(\"shoulder_bridge\", s3d.rect(12, 28), 16, both=True), \"plastic\", color=\"#141416\"\n    )\n    d = s3d.material(\n        s3d.extrude(\"shoulder_upper_cheek\", s3d.rect(16, 6), 48, both=True),\n        \"plastic\",\n        color=\"#141416\",\n    )\n    e = s3d.material(\n        s3d.extrude(\"shoulder_lower_cheek\", s3d.rect(16, 6), 48, both=True),\n        \"plastic\",\n        color=\"#141416\",\n    )\n    return s3d.group(\n        \"wall_mount\",\n        s3d.at(a, x=8, z=170),\n        s3d.at(b, x=25, z=220),\n        s3d.at(c, x=28, z=220),\n        s3d.at(d, x=42, y=10, z=220),\n        s3d.at(e, x=42, y=-10, z=220),\n    )\n\n\ndef upper_arm():\n    black = \"#141416\"\n    steel = \"#2e3036\"\n    return s3d.group(\n        \"upper_arm\",\n        s3d.material(\n            s3d.at(s3d.extrude(\"rear_hub\", s3d.circle(12), 14, both=True), rx=90),\n            \"plastic\",\n            color=black,\n        ),\n        s3d.material(\n            s3d.at(s3d.extrude(\"beam\", s3d.circle(12), 210, both=True), x=111, ry=90),\n            \"painted_metal\",\n            color=steel,\n        ),\n        s3d.material(\n            s3d.at(s3d.extrude(\"elbow_bridge\", s3d.rect(18, 28), 12, both=True), x=211),\n            \"plastic\",\n            color=black,\n        ),\n        s3d.material(\n            s3d.at(s3d.extrude(\"elbow_upper_cheek\", s3d.rect(18, 6), 38, both=True), x=229, y=10),\n            \"plastic\",\n            color=black,\n        ),\n        s3d.material(\n            s3d.at(s3d.extrude(\"elbow_lower_cheek\", s3d.rect(18, 6), 38, both=True), x=229, y=-10),\n            \"plastic\",\n            color=black,\n        ),\n    )\n\n\ndef forearm():\n    black = \"#141416\"\n    steel = \"#2e3036\"\n    return s3d.group(\n        \"forearm\",\n        s3d.material(\n            s3d.at(s3d.extrude(\"rear_hub\", s3d.circle(12), 14, both=True), rx=90),\n            \"plastic\",\n            color=black,\n        ),\n        s3d.material(\n            s3d.at(s3d.extrude(\"beam\", s3d.circle(12), 170, both=True), x=91, ry=90),\n            \"painted_metal\",\n            color=steel,\n        ),\n        s3d.material(\n            s3d.at(s3d.extrude(\"tip_bridge\", s3d.rect(20, 28), 12, both=True), x=173),\n            \"plastic\",\n            color=black,\n        ),\n        s3d.material(\n            s3d.at(s3d.extrude(\"pivot_upper_cheek\", s3d.rect(16, 6), 34, both=True), x=191, y=10),\n            \"plastic\",\n            color=black,\n        ),\n        s3d.material(\n            s3d.at(s3d.extrude(\"pivot_lower_cheek\", s3d.rect(16, 6), 34, both=True), x=191, y=-10),\n            \"plastic\",\n            color=black,\n        ),\n    )\n\n\ndef shade():\n    black = \"#141416\"\n    shell = s3d.revolve(\"shade_shell\", [(18, -33), (28, -24), (32, 6), (33, 32)])\n    rim = s3d.revolve(\"front_rim\", [(36, -4), (39, 0), (39, 4)])\n    return s3d.group(\n        \"shade\",\n        s3d.material(\n            s3d.at(s3d.extrude(\"pivot_hub\", s3d.circle(12), 14, both=True), rx=90),\n            \"plastic\",\n            color=black,\n        ),\n        s3d.material(\n            s3d.at(s3d.extrude(\"neck\", s3d.circle(16), 40, both=True), x=22, ry=90),\n            \"plastic\",\n            color=black,\n        ),\n        s3d.material(\n            s3d.at(s3d.extrude(\"shade_collar\", s3d.circle(36), 14, both=True), x=49, ry=90),\n            \"plastic\",\n            color=black,\n        ),\n        s3d.material(s3d.at(shell, x=89, ry=90), \"plastic\", color=\"#e8e6d9\"),\n        s3d.material(s3d.at(rim, x=125, ry=90), \"aluminium\", color=\"#d1d1cc\"),\n    )","usdaPath":"usda/0002/articraft-rec_articulated_task_lamp_0011.usda","programSha256":"05fdf419ebcb527d9d9b4132213680a98c38eae4c5fa4c1e473137746d2db19d","explorerUrl":"/resources/explorer?oid=articraft-rec_articulated_task_lamp_0011","glbUrl":"https://sandflow-sand3d-explorer.hf.space/glb/articraft-rec_articulated_task_lamp_0011.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 (3 articulated joints, F-score: 1)."],"requiredNextSteps":["Check materials, scale, performance and required file conversion in your target renderer."]}}