{"ok":true,"resource":{"id":"sand3d--simready--simready-blood_line_a02","sourceId":"sandflow-sand3d","sourceAssetId":"simready:blood_line_a02","name":"Blood Line 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-blood_line_a02.png","detailImageUrl":"https://sandflow-sand3d-explorer.hf.space/r/simready-blood_line_a02.png","sourcePreviewUrl":"https://huggingface.co/datasets/SZFSPC/techidaily-resources/resolve/ba1baf9d89ddf57433d7c47cb461f6d8883067a1/usda/0003/simready-blood_line_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-blood_line_a02.usda","format":"usda","sizeBytes":50000,"sha256":"c86be1acb02a01a65ba64dd11273fd06a2bdad77513a59ddc9813e24a47dc872","url":"https://huggingface.co/datasets/SZFSPC/techidaily-resources/resolve/ba1baf9d89ddf57433d7c47cb461f6d8883067a1/usda/0003/simready-blood_line_a02.usda"}],"sand3d":{"datasetRepo":"Sandflow/sand3d-simready","subcollection":"simready","totalInDataset":2334,"entryFunction":"infusion_stand","nJoints":12,"fScore":0.9766,"program":"import sand3d as s3d\n\n\ndef infusion_stand():\n    root = s3d.at(stand(), x=14, y=3, z=42)\n    a = s3d.at(caster_four(), x=-248, y=-186.5, z=18)\n    b = s3d.at(caster_six(), x=15, y=268.5, z=18)\n    c = s3d.at(caster_two(), x=277.5, y=-185.5, z=15)\n    d = s3d.at(caster_five(), x=-248, y=117, z=20)\n    e = s3d.at(caster_one(), x=278, y=117, z=17)\n    f = s3d.at(caster_three(), x=15, y=-337.5, z=18)\n    s3d.joint('joint_carriage_04_joint_00', a, on=s3d.local(root, x=-262, y=-151, z=74), kind='continuous', axis='+Z')\n    s3d.joint('joint_carriage_06_joint_00', b, on=s3d.local(root, x=1, y=304, z=74), kind='continuous', axis='+Z')\n    s3d.joint('joint_carriage_02_joint_00', c, on=s3d.local(root, x=264, y=-151, z=74), kind='continuous', axis='+Z')\n    s3d.joint('joint_carriage_05_joint_00', d, on=s3d.local(root, x=-262, y=152, z=74), kind='continuous', axis='+Z')\n    s3d.joint('joint_carriage_01_joint_00', e, on=s3d.local(root, x=264, y=152, z=74), kind='continuous', axis='+Z')\n    s3d.joint('joint_carriage_03_joint_00', f, on=s3d.local(root, x=1, y=-303, z=74), kind='continuous', axis='+Z')\n    return s3d.assembly('infusion_stand', root, a,b,c,d,e,f)\n\n\ndef stand(lower_d=32, lower_h=814, upper_d=18, upper_z=936, upper_h=940, foot_w=56, foot_r=325, foot_h=80, plate_w=169, plate_h=256, plate_d=14, plate_x=-39, plate_y=67, plate_z=1384, hook_r=52):\n    sleeve=s3d.cylinder('sleeve',d=lower_d,h=lower_h)\n    shaft=s3d.at(s3d.cylinder('shaft',d=upper_d,h=upper_h),z=upper_z)\n    hub=s3d.cylinder('hub',d=lower_d*6,h=upper_d)\n    feet=[]\n    for i in range(6):\n        foot=radial_foot(w=foot_w,r=foot_r,h=foot_h,t=upper_d)\n        feet.append(s3d.at(s3d.group('foot',foot),rz=i*60))\n    panel=s3d.at(s3d.box('panel',w=plate_w,d=plate_d,h=plate_h),x=plate_x,y=plate_y,z=plate_z)\n    rim=s3d.box('border',w=plate_w,d=plate_d*2,h=plate_h)\n    rim=s3d.pocket(rim,s3d.rect(w=plate_w-plate_d,d=plate_h-plate_d),depth=plate_d*2,on=s3d.bbox(rim,'+Y').move(y=plate_h/2))\n    rim=s3d.at(rim,x=plate_x,y=plate_y,z=plate_z)\n    panel=s3d.join(panel,rim)\n    supports=s3d.at(s3d.box('support',w=lower_d,d=plate_y,h=upper_d),y=plate_y/2,z=plate_z+plate_h/2)\n    hooks=[]\n    for i in range(4):\n        hook=crown_hook(r=hook_r,t=upper_d/3,h=upper_z+upper_h)\n        hooks.append(s3d.at(hook,rz=i*90))\n    tube=s3d.wire('infusion_line',path=s3d.spline([(plate_x-plate_w/2,plate_y,plate_z+plate_h/3),(plate_x-plate_w/2-plate_d,plate_y+plate_d,plate_z),(plate_x-plate_w/2,plate_y+plate_d*3,upper_z)]),d=upper_d/9)\n    s3d.material([sleeve,shaft,hub,feet,supports,hooks],'chrome',color='#b8bec3')\n    s3d.material(panel,'plastic',color='#a6adb0')\n    s3d.material(tube,'plastic',color='#d5dce0')\n    return s3d.group('stand',sleeve,shaft,hub,feet,panel,supports,hooks,tube)\n\n\ndef radial_foot(w,r,h,t):\n    profile=s3d.poly([(0,0),(r/2,0),(r*0.62,h/4),(r*0.88,h),(r,h),(r,h-t),(r*0.9,h-t),(r*0.65,h/4-t/2),(r/2,-t/4),(0,-t/4)])\n    foot=s3d.extrude('radial_foot',profile,h=w)\n    return s3d.at(foot,x=-w/2,rx=90,rz=90)\n\n\ndef crown_hook(r,t,h):\n    path=s3d.spline([(0,0,h-r/2),(0,r/3,h),(0,r,h+r/2),(0,r*2,h+r/2),(0,r*2,h-r/3),(0,r*1.4,h-r/2),(0,r*1.3,h)])\n    return s3d.wire('crown_hook',path=path,d=t)\n\n\ndef caster_four(w=32,d=111,h=77):\n    solid = fork(w=w,d=d,h=h)\n    wheel = s3d.at(wheel_four(),x=0.5,y=13,z=-18)\n    s3d.joint('joint_wheel_04_joint_00',wheel,on=s3d.local(solid,x=0,y=13,z=20),kind='continuous',axis='-X')\n    return s3d.group('caster_four',solid,wheel)\n\n\ndef fork(w,d,h):\n    cheek=s3d.extrude('fork_cheek',s3d.poly([(-d/5,0),(d/5,h/5),(d/2,h),(d/5,h),(0,h/2),(-d/4,h/4)]),h=w/6)\n    cheek=s3d.at(cheek,x=w/2,rx=90,rz=90)\n    twin=s3d.transform(s3d.copy(cheek),mirror='x')\n    cap=s3d.at(s3d.box('fork_cap',w=w,d=d/3,h=h/6),y=d/4,z=h-h/6)\n    brake=s3d.at(s3d.box('brake',w=w*0.8,d=d/2,h=h/12),y=-d/4,z=h*0.7)\n    solid=s3d.join(cheek,twin,cap,brake)\n    s3d.material(solid,'aluminium',color='#9ba4a9')\n    return solid\n\n\ndef wheel_four(w=19,d=77,h=77):\n    solid=wheel_solid(w=w,d=d)\n    return s3d.group('wheel_four',solid)\n\n\ndef wheel_solid(w,d):\n    solid=s3d.cylinder('tire',d=d,h=w)\n    solid=s3d.at(solid,x=-w/2,z=d/2,ry=90)\n    s3d.material(solid,'rubber',color='#45494c')\n    return solid\n\n\ndef caster_six(w=32,d=111,h=77):\n    solid=fork(w=w,d=d,h=h)\n    wheel=s3d.at(wheel_six(),y=13.5,z=-18)\n    s3d.joint('joint_wheel_06_joint_00',wheel,on=s3d.local(solid,x=0,y=13,z=20),kind='continuous',axis='-X')\n    return s3d.group('caster_six',solid,wheel)\n\n\ndef wheel_six(w=20,d=78,h=77):\n    return s3d.group('wheel_six',wheel_solid(w=w,d=d))\n\n\ndef caster_two(w=33,d=113,h=80):\n    solid=fork(w=w,d=d,h=h)\n    wheel=s3d.at(wheel_two(),y=12,z=-15)\n    s3d.joint('joint_wheel_02_joint_00',wheel,on=s3d.local(solid,x=0,y=12,z=23),kind='continuous',axis='-X')\n    return s3d.group('caster_two',solid,wheel)\n\n\ndef wheel_two(w=19,d=77,h=77):\n    return s3d.group('wheel_two',wheel_solid(w=w,d=d))\n\n\ndef caster_five(w=32,d=110,h=75):\n    solid=fork(w=w,d=d,h=h)\n    wheel=s3d.at(wheel_five(),x=0.5,y=13,z=-20)\n    s3d.joint('joint_wheel_05_joint_00',wheel,on=s3d.local(solid,x=0,y=13,z=19),kind='continuous',axis='-X')\n    return s3d.group('caster_five',solid,wheel)\n\n\ndef wheel_five(w=19,d=78,h=77):\n    return s3d.group('wheel_five',wheel_solid(w=w,d=d))\n\n\ndef caster_one(w=32,d=110,h=78):\n    solid=fork(w=w,d=d,h=h)\n    wheel=s3d.at(wheel_one(),y=13,z=-17)\n    s3d.joint('joint_wheel_01_joint_00',wheel,on=s3d.local(solid,x=0,y=13,z=21),kind='continuous',axis='-X')\n    return s3d.group('caster_one',solid,wheel)\n\n\ndef wheel_one(w=18,d=78,h=77):\n    return s3d.group('wheel_one',wheel_solid(w=w,d=d))\n\n\ndef caster_three(w=32,d=111,h=75):\n    solid=fork(w=w,d=d,h=h)\n    wheel=s3d.at(wheel_three(),y=13,z=-17)\n    s3d.joint('joint_wheel_03_joint_00',wheel,on=s3d.local(solid,x=0,y=13,z=20),kind='continuous',axis='-X')\n    return s3d.group('caster_three',solid,wheel)\n\n\ndef wheel_three(w=18,d=77,h=77):\n    return s3d.group('wheel_three',wheel_solid(w=w,d=d))","usdaPath":"usda/0003/simready-blood_line_a02.usda","programSha256":"248f80574b53d8717511f1dfd3513dec27d33fffe88fdcebf79edbcd29baffa7","explorerUrl":"/resources/explorer?oid=simready-blood_line_a02","glbUrl":"https://sandflow-sand3d-explorer.hf.space/glb/simready-blood_line_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-blood_line_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 (12 articulated joints, F-score: 0.9766)."],"requiredNextSteps":["Check materials, scale, performance and required file conversion in your target renderer."]}}