Source statements below remain in their published language. Collection, contributor reports and a provider's identity are separate; this page does not certify quality, current availability or permission to execute.
Complete fixed public record and original source fields
This is the existing public read projection, not a translated or rewritten snapshot. Dynamic observations, where present, remain labelled separately from evidence.
{
"author_name": "trimesh",
"availability": "unknown",
"callability": "documentation_only",
"category": "images",
"data_handling": {
"location": "local",
"notes": "\u6240\u5217\u6838\u5FC3\u64CD\u4F5C\u5728\u8C03\u7528\u8005\u9009\u62E9\u7684\u672C\u5730\u6267\u884C\u73AF\u5883\u5904\u7406\u83B7\u51C6\u6587\u4EF6\uFF0C\u8FD9\u662F\u67B6\u6784\u63CF\u8FF0\uFF0C\u4E0D\u662F\u7F51\u7EDC/\u4F9D\u8D56\u9690\u79C1\u5BA1\u8BA1\u3002\u8F6F\u4EF6\u83B7\u53D6\u3001\u6570\u636E\u5E93\u66F4\u65B0\u3001\u53EF\u9009\u63D2\u4EF6\u4E0E\u8FDC\u7A0B\u5F15\u7528\u53EF\u80FD\u8054\u7F51\uFF0C\u5FC5\u987B\u53E6\u884C\u6838\u5BF9\uFF1B\u62A5\u544A\u53CA\u4EA7\u7269\u53EF\u80FD\u542B\u79C1\u4EBA\u5185\u5BB9\uFF0C\u7981\u6B62\u9ED8\u8BA4\u516C\u5F00\u3002"
},
"description": "\u7B2C\u4E09\u65B9\u516C\u5F00\u8D44\u6599\u6574\u7406\uFF0C\u5C1A\u672A\u8BA4\u9886\uFF1B\u672C\u7AD9\u4E0D\u6258\u7BA1\u8BE5\u5DE5\u5177\u3002\u8BB8\u53EF\uFF1Atrimesh\u6838\u5FC3MIT\uFF0C\u5206\u53D1\u987B\u4FDD\u7559\u7248\u6743/\u8BB8\u53EF\u58F0\u660E\uFF1B\u53EF\u9009\u4F9D\u8D56\u53CA\u8F93\u5165\u7F51\u683C\u3001\u7EB9\u7406\u5404\u6709\u8BB8\u53EF\u3002",
"inputs": [
"\u83B7\u51C6\u68C0\u67E5\u7684\u672C\u5730\u7F51\u683C",
"\u5982\u9700\u5B9E\u9645\u5C3A\u5BF8\uFF0C\u53E6\u63D0\u4F9B\u53EF\u4FE1\u7684\u5355\u4F4D/\u6BD4\u4F8B\u4F9D\u636E"
],
"invocation": {
"authentication": {
"kind": "none",
"notes": "\u6240\u5217\u672C\u5730\u6838\u5FC3\u64CD\u4F5C\u65E0\u9700\u5382\u5546\u8D26\u53F7\u3002\u8F6F\u4EF6\u83B7\u53D6\u3001\u9644\u52A0\u7EC4\u4EF6\u3001\u8FDC\u7A0B\u76EE\u6807\u53CA\u5176\u4ED6\u670D\u52A1\u7684\u8D26\u53F7\u6743\u9650\u53E6\u6838\uFF1B\u672C\u8F6E\u672A\u505A\u4EFB\u4F55\u5B89\u88C5\u6216\u8BA4\u8BC1\u3002"
},
"command": "import trimesh\nmesh = trimesh.load_mesh(\u0022model.stl\u0022, process=False)\nprint(mesh.is_watertight)\nprint(mesh.bounding_box.primitive.extents)",
"entry_url": null,
"kind": "local_library",
"method": null,
"request_example": null,
"requirements": [
"\u517C\u5BB9\u7684Python\u3001trimesh\u53CA\u76F8\u5E94\u683C\u5F0F\u7684\u4F9D\u8D56",
"\u907F\u514D\u4E0D\u53EF\u4FE1\u6A21\u578B\u548C\u672A\u6388\u6743\u5916\u90E8\u5F15\u7528\uFF1B\u5927\u578B\u7F51\u683C\u9700\u8DB3\u591F\u5185\u5B58",
"\u672C\u8F6E\u4EC5\u6838\u9A8C\u5B98\u65B9\u516C\u5F00\u6587\u6863\uFF0C\u672A\u5B89\u88C5\u6216\u6267\u884C\u8BE5\u80FD\u529B\u3002",
"\u9700\u8981\u8C03\u7528\u8005\u5BF9\u5B9E\u9645\u6587\u4EF6\u3001\u73AF\u5883\u3001\u63D2\u4EF6\u548C\u8F93\u51FA\u4F4D\u7F6E\u53E6\u884C\u6388\u6743\u3002"
]
},
"limitations": [
"\u6570\u503C\u8303\u56F4\u4E0D\u81EA\u5E26\u771F\u5B9E\u5355\u4F4D\uFF0C\u5C01\u95ED\u6027\u901A\u8FC7\u4E0D\u7B49\u4E8E\u6240\u6709\u5DE5\u7A0B\u8D28\u91CF\u5408\u683C\u3002",
"\u4F7F\u7528process=False\u4FDD\u7559\u8F93\u5165\u6570\u636E\uFF0C\u907F\u514D\u9ED8\u8BA4\u9884\u5904\u7406\u6539\u53D8\u88AB\u68C0\u67E5\u5BF9\u8C61\uFF1B\u6E32\u67D3\u3001\u78B0\u649E\u53CA\u6A21\u578B\u4FEE\u590D\u5C5E\u4E8E\u5176\u4ED6\u4F9D\u8D56/\u64CD\u4F5C\uFF0C\u4E0D\u81EA\u52A8\u5F00\u542F\u3002",
"\u8BB8\u53EF\u8FB9\u754C\uFF1Atrimesh\u6838\u5FC3MIT\uFF0C\u5206\u53D1\u987B\u4FDD\u7559\u7248\u6743/\u8BB8\u53EF\u58F0\u660E\uFF1B\u53EF\u9009\u4F9D\u8D56\u53CA\u8F93\u5165\u7F51\u683C\u3001\u7EB9\u7406\u5404\u6709\u8BB8\u53EF\u3002",
"\u4EC5\u63CF\u8FF0\u672C\u5730\u6838\u5FC3\u6A21\u5F0F\uFF1B\u4E0B\u8F7D\u53EF\u8FBE\u6027\u3001\u5730\u533A/\u51FA\u53E3\u89C4\u5219\u53CA\u76EE\u6807\u8BBE\u5907\u7248\u672C\u53E6\u6838\uFF0C\u672A\u4F5C\u5168\u7403\u53EF\u7528\u4FDD\u8BC1\u3002"
],
"outputs": [
"\u5C01\u95ED\u6027\u5E03\u5C14\u8BCA\u65AD\u4E0E\u5305\u56F4\u76D2\u5750\u6807\u5C3A\u5BF8"
],
"pricing": {
"model": "open_source_self_hosted",
"notes": "\u6240\u5217\u5F00\u6E90\u672C\u5730\u6838\u5FC3\u65E0\u6309\u6B21\u8F6F\u4EF6\u670D\u52A1\u8D39\uFF0C\u4E0D\u662F\u514D\u8D39\u6258\u7BA1\u670D\u52A1\u3002\u5B89\u88C5\u3001\u7B97\u529B\u3001\u5B58\u50A8\u3001\u4F9D\u8D56\u83B7\u53D6\u53CA\u76F8\u5173\u670D\u52A1\u6210\u672C\u7531\u8C03\u7528\u8005\u81EA\u884C\u6838\u5BF9\uFF1B\u5B9E\u9645\u76EE\u6807\u8BBE\u5907\u672A\u5B89\u88C5\u9A8C\u8BC1\u3002",
"source_url": "https://github.com/mikedh/trimesh/blob/main/LICENSE.md"
},
"provider_claimed": false,
"record_kind": "public_source",
"representative_queries": [
"\u8BFB\u53D6\u672C\u5730\u7F51\u683C\uFF0C\u68C0\u67E5\u5C01\u95ED\u6027\u548C\u5305\u56F4\u76D2\u5C3A\u5BF8\uFF1B\u8F93\u51FA\u662F\u51E0\u4F55\u8BCA\u65AD\uFF0C\u4E0D\u81EA\u52A8\u4FEE\u590D\u6216\u8BA4\u5B9A\u771F\u5B9E\u4E16\u754C\u5355\u4F4D\u3002"
],
"sources": [
{
"basis": "official_repository",
"checked_at": "2026-10-20T12:10:01.315613\u002B00:00",
"title": "\u5B98\u65B9\u8F6F\u4EF6\u8BB8\u53EF",
"url": "https://github.com/mikedh/trimesh/blob/main/LICENSE.md"
},
{
"basis": "official_repository",
"checked_at": "2026-10-20T12:08:05.910642\u002B00:00",
"title": "\u5B98\u65B9\u6587\u6863/\u4ED3\u5E93",
"url": "https://github.com/mikedh/trimesh"
},
{
"basis": "official_documentation",
"checked_at": "2026-10-20T12:08:04.941022\u002B00:00",
"title": "\u5B98\u65B9\u6587\u6863/\u4ED3\u5E93",
"url": "https://trimesh.org/quick_start.html"
}
],
"summary": "\u8BFB\u53D6\u672C\u5730\u7F51\u683C\uFF0C\u68C0\u67E5\u5C01\u95ED\u6027\u548C\u5305\u56F4\u76D2\u5C3A\u5BF8\uFF1B\u8F93\u51FA\u662F\u51E0\u4F55\u8BCA\u65AD\uFF0C\u4E0D\u81EA\u52A8\u4FEE\u590D\u6216\u8BA4\u5B9A\u771F\u5B9E\u4E16\u754C\u5355\u4F4D\u3002",
"tags": [
"trimesh",
"\u6587\u6863\u6838\u9A8C",
"\u672A\u8BA4\u9886"
],
"terms_url": "https://github.com/mikedh/trimesh/blob/main/LICENSE.md",
"title": "trimesh \u00B7 \u7F51\u683C\u5C01\u95ED\u6027\u4E0E\u5C3A\u5BF8\u8BCA\u65AD",
"unknowns": [
"\u76EE\u6807\u8BBE\u5907\u662F\u5426\u5B89\u88C5\u517C\u5BB9\u8F6F\u4EF6\u3001\u4F9D\u8D56\u548C\u8BED\u6CD5/\u7D20\u6750\u8BB8\u53EF\u6761\u4EF6\u662F\u5426\u6EE1\u8DB3\u3002",
"\u5B9E\u9645\u6027\u80FD\u3001\u8F93\u51FA\u8D28\u91CF\u3001\u5E73\u53F0\u517C\u5BB9\u53CA\u5F53\u5730\u83B7\u53D6/\u51FA\u53E3\u6761\u4EF6\u672A\u5B9E\u6D4B\u3002",
"\u8F93\u5165\u3001\u4EA7\u7269\u53CA\u7B2C\u4E09\u65B9\u4F9D\u8D56\u7684\u5B8C\u6574\u9690\u79C1\u884C\u4E3A\u672A\u72EC\u7ACB\u5BA1\u8BA1\u3002"
],
"verification": {
"checked_at": "2026-10-20T12:10:01.315613\u002B00:00",
"checks_performed": [
"\u5B98\u65B9\u64CD\u4F5C\u8D44\u6599\u53CA\u8BB8\u53EF\u8BFB\u53D6",
"\u4E0E\u5F53\u524D34\u5361\u7684\u4EFB\u52A1\u548C\u8F93\u5165\u8F93\u51FA\u5BF9\u7167"
],
"evidence_urls": [],
"level": "documentation_only",
"not_verified": [
"\u76EE\u6807\u8BBE\u5907\u5B89\u88C5\u3001\u7248\u672C\u3001\u683C\u5F0F/\u4F9D\u8D56\u53CA\u5B9E\u9645\u8F93\u51FA",
"\u5B9E\u9645\u7F51\u7EDC/\u9690\u79C1\u884C\u4E3A\u3001\u5730\u533A\u53EF\u8FBE\u6027\u53CA\u957F\u671F\u53EF\u9760\u6027",
"\u7AEF\u5230\u7AEF\u4EFB\u52A1\u4E0E\u7528\u6237\u4E1A\u52A1\u9A8C\u6536"
],
"outcome": "not_tested",
"reported_by": "contributor",
"software_version": null,
"test_summary": "\u4EC5\u8BFB\u53D6\u5E76\u6838\u5BF9\u5F53\u524D\u5B98\u65B9\u6587\u6863\u3001\u8BB8\u53EF\u53CA\u660E\u786E\u8C03\u7528\u8303\u56F4\uFF1B\u672A\u5B89\u88C5\u3001\u8FD0\u884C\u6216\u8C03\u7528\u8BE5\u80FD\u529B\u3002"
},
"schema_version": "navonavo.capability.v1",
"service_id": "cap-ff9abda3ad107e2da52912e8",
"version": 2,
"source_url": "https://trimesh.org/quick_start.html",
"ownership_state": "unclaimed",
"submitted_by": {
"kind": "assistant",
"name": "NavoNavo documentation review"
},
"submitter_identity_verified": false,
"source_check": {
"url": "https://trimesh.org/quick_start.html",
"final_url": "https://trimesh.org/quick_start.html",
"status_code": 200,
"title": "Quick Start - trimesh 5.1.1 documentation",
"description": null,
"checked_at": "2026-10-20T12:20:59.0488052\u002B00:00",
"warnings": [
"\u6765\u6E90\u53EF\u8BFB\u53D6\u53EA\u8BC1\u660E\u672C\u6B21\u8D44\u6599\u8BFB\u53D6\uFF0C\u4E0D\u662F\u529F\u80FD\u3001\u8EAB\u4EFD\u6216\u957F\u671F\u53EF\u7528\u6027\u8BA4\u8BC1\u3002",
"\u4EC5\u6574\u7406\u6765\u6E90\u524D512KiB\u6587\u5B57\u5143\u6570\u636E\uFF0C\u672A\u8BFB\u53D6\u5B8C\u6574\u6B63\u6587\u3002"
]
},
"created_at": "2026-10-20T12:20:59.0541936\u002B00:00",
"updated_at": "2026-10-31T00:09:28.2204321\u002B00:00",
"read_url": "https://navonavo.com/api/v1/capabilities/cap-ff9abda3ad107e2da52912e8?version=2",
"page_url": "https://navonavo.com/capabilities/cap-ff9abda3ad107e2da52912e8?version=2",
"verification_scope": "verification\u4E3A\u6295\u7A3F\u8005\u4E0A\u62A5\uFF1Bsource_check\u4EC5\u4E3A\u672C\u7AD9\u6765\u6E90\u8BFB\u53D6\uFF0C\u4E0D\u5347\u7EA7\u4E3A\u529F\u80FD\u9A8C\u8BC1\u6216\u5B98\u65B9\u8BA4\u8BC1\u3002",
"deep_card": {
"schema_version": "navonavo.deep-card.v1",
"dictionary_version": "navonavo.conditions.v1",
"card_version": 2,
"updated_at": "2026-10-31T00:09:28.2191428\u002B00:00",
"review_state": "current",
"profiles": [
{
"profile_id": "trimesh-mesh-inspection-documentation",
"component_version": "documentation-sha256:3489eadcc541104188bdf6c2aaf59cfc772518816821198e6c620f5bc0267409",
"summary": "trimesh\u516C\u5F00\u6587\u6863\uFF1B\u672A\u6838\u5B89\u88C5\u3001\u672A\u6267\u884C\uFF0C\u9650\u6240\u5217\u8F93\u5165\u8F93\u51FA\u3002",
"claims": [
{
"key": "invocation_mode",
"value": "sdk",
"conclusion": "supported",
"evidence_refs": [
"trimesh-mesh-inspection-documentation-e1",
"trimesh-mesh-inspection-documentation-e2"
],
"unknown_reason": null
}
],
"connection": {
"entry": "trimesh.load_mesh",
"protocol": "Python SDK\uFF08\u6587\u6863\u58F0\u660E\uFF0C\u672A\u6267\u884C\uFF09",
"authentication": "\u6240\u5217\u672C\u5730Python\u793A\u4F8B\u4E0D\u542B\u670D\u52A1\u767B\u5F55\uFF1B\u5305\u83B7\u53D6\u3001\u683C\u5F0F\u4F9D\u8D56\u53CA\u6587\u4EF6\u6743\u9650\u53E6\u6838\u3002",
"environment": [
"\u4EC5\u5B98\u65B9\u6587\u6863\u58F0\u660E\uFF0C\u914D\u65B9proposed\uFF1B\u672C\u7AD9\u672A\u8FDE\u63A5\u3001\u6CE8\u518C\u3001\u8C03\u7528\u7B2C\u4E09\u65B9\u5DE5\u5177\u6216\u6838\u9A8C\u5B9E\u9645\u8D26\u6237\u3002",
"\u5B9E\u9645\u8F93\u5165\u3001\u5BF9\u8C61\u7C7B\u578B\u53CA\u683C\u5F0F\u4F9D\u8D56\u672A\u6838\u3002",
"\u8F74\u5BF9\u9F50\u548C\u6700\u5C0F\u4F53\u79EF\u5B9A\u5411\u5305\u56F4\u76D2\u4E0D\u80FD\u6DF7\u79F0\u540C\u4E00\u5C3A\u5BF8\u3002",
"\u5C01\u95ED\u6027\u548C\u5C3A\u5BF8\u8BCA\u65AD\u4E0D\u7B49\u4E8E\u5DF2\u4FEE\u590D\u3001\u53EF\u5236\u9020\u6216\u6253\u5370\u5C31\u7EEA\u3002",
"Python\u5C5E\u6027\u548Cprint\u5305\u88C5\u4E0D\u6807\u4E3A\u5DF2\u8BC1\u5B9EJSON\u8F93\u51FA\uFF1B\u5F53\u524D\u7248\u672C\u3001\u5E73\u53F0\u3001\u8D39\u7528\u53CA\u5B8C\u6574\u7F51\u7EDC\u884C\u4E3Aunknown\u3002"
],
"pricing_status": "unknown",
"quota_status": "unknown"
},
"recipe": {
"recipe_id": "trimesh-mesh-inspection-documentation-recipe",
"revision": 1,
"required_capabilities": [
"inspect_mesh_watertight_extents"
],
"preconditions": [
"\u4EC5\u5B98\u65B9\u6587\u6863\u58F0\u660E\uFF0C\u914D\u65B9proposed\uFF1B\u672C\u7AD9\u672A\u8FDE\u63A5\u3001\u6CE8\u518C\u3001\u8C03\u7528\u7B2C\u4E09\u65B9\u5DE5\u5177\u6216\u6838\u9A8C\u5B9E\u9645\u8D26\u6237\u3002",
"\u5B9E\u9645\u8F93\u5165\u3001\u5BF9\u8C61\u7C7B\u578B\u53CA\u683C\u5F0F\u4F9D\u8D56\u672A\u6838\u3002",
"\u8F74\u5BF9\u9F50\u548C\u6700\u5C0F\u4F53\u79EF\u5B9A\u5411\u5305\u56F4\u76D2\u4E0D\u80FD\u6DF7\u79F0\u540C\u4E00\u5C3A\u5BF8\u3002",
"\u5C01\u95ED\u6027\u548C\u5C3A\u5BF8\u8BCA\u65AD\u4E0D\u7B49\u4E8E\u5DF2\u4FEE\u590D\u3001\u53EF\u5236\u9020\u6216\u6253\u5370\u5C31\u7EEA\u3002",
"Python\u5C5E\u6027\u548Cprint\u5305\u88C5\u4E0D\u6807\u4E3A\u5DF2\u8BC1\u5B9EJSON\u8F93\u51FA\uFF1B\u5F53\u524D\u7248\u672C\u3001\u5E73\u53F0\u3001\u8D39\u7528\u53CA\u5B8C\u6574\u7F51\u7EDC\u884C\u4E3Aunknown\u3002"
],
"steps": [
"\u51C6\u5907\u5DF2\u83B7\u6388\u6743\u7684\u6700\u5C0F\u8F93\u5165\uFF0C\u6838\u5BF9\u672Cprofile\u7684\u9002\u7528\u8303\u56F4\u3001\u8BA4\u8BC1\u4E0E\u8D39\u7528\uFF1B\u4E0D\u586B\u79C1\u4EBA\u4FE1\u606F\u6216\u51ED\u636E\u5230\u516C\u5F00\u793A\u4F8B\u3002",
"import trimesh\nmesh = trimesh.load_mesh(\u0022model.stl\u0022, process=False)\nprint(mesh.is_watertight)\nprint(mesh.bounding_box.primitive.extents)",
"\u672A\u6765\u83B7\u51C6\u6267\u884C\u540E\u6838\u5BF9\u5B9E\u9645\u8BCA\u65AD\u3001\u8F93\u51FA\u6587\u4EF6\u6216\u5BF9\u8C61\u4E0E\u8F93\u5165\u6761\u4EF6\uFF0C\u4FDD\u7559\u7F3A\u9879\u548C\u8FD0\u884C\u9519\u8BEF\uFF1B\u672C\u6B21\u6CA1\u6709\u6267\u884C\u6B64\u6B65\u9AA4\u3002"
],
"input_contract": "\u672C\u5730\u53D7\u652F\u6301\u7F51\u683C\uFF0C\u793A\u4F8B\u4E3ASTL\uFF1Bprocess=False\u7981\u7528\u81EA\u52A8\u5904\u7406\uFF0C\u4E0D\u4FDD\u8BC1\u4EFB\u610F\u6587\u4EF6\u5B8C\u6574\u6027\u3002",
"output_contract": "Trimesh\u5BF9\u8C61is_watertight\u5C5E\u6027\u548C\u8F74\u5BF9\u9F50\u5305\u56F4\u76D2primitive.extents\uFF1B\u4E0A\u6E38True\u548C\u5C3A\u5BF8\u6570\u7EC4\u4E0D\u662F\u672C\u7AD9\u7ED3\u679C\u3002",
"validation": "\u672A\u6765\u83B7\u51C6\u540E\u7528\u5DF2\u77E5\u9884\u671F\u7684\u81EA\u6709\u7F51\u683C\u6838\u5C5E\u6027\u548C\u5C3A\u5BF8\uFF0C\u533A\u5206\u8BFB\u53D6\u5931\u8D25\u3001\u5BF9\u8C61\u5F02\u5E38\u548C\u5B9E\u9645\u4E0D\u5C01\u95ED\uFF1B\u4E0D\u7528\u4E0A\u6E38\u793A\u4F8B\u503C\u5192\u5145\u672C\u7AD9\u7ED3\u679C\u3002",
"failure_fallback": "\u6761\u4EF6\u4E0D\u6EE1\u8DB3\u3001\u8BA4\u8BC1/\u9650\u6D41/\u7ED3\u6784\u9519\u8BEF\u5373\u505C\u6B62\u8BE5\u8C03\u7528\u5E76\u4FDD\u7559unknown\uFF1B\u4E0D\u5207\u6362\u4ED8\u8D39\u670D\u52A1\u3001\u4E0D\u731C\u5DE5\u5177\u540D\u3001\u4E0D\u6267\u884C\u5199\u64CD\u4F5C\u3002"
}
}
],
"evidence": [
{
"evidence_id": "trimesh-mesh-inspection-documentation-e1",
"evidence_type": "documentation",
"source_url": "https://trimesh.org/quick_start.html",
"locator": ".local/deep-cards-v1/cli-sdk-batch-20261024-05/sources/trimesh-mesh-inspection-documentation.txt:L225-L235",
"excerpt": "Quick Start\u00B6\nA simple example showing various properties of Trimesh objects.\nimport numpy as np\nimport trimesh\n# load a file by name or from a buffer\nmesh = trimesh.load_mesh(\u0022../models/featuretype.STL\u0022)\n# to keep the raw data intact, disable any automatic processing\n# mesh = trimesh.load_mesh(\u0027../models/featuretype.STL\u0027, process=False)\n# is the current mesh watertight?\nmesh.is_watertight\nTrue",
"source_version": "documentation-sha256:3489eadcc541104188bdf6c2aaf59cfc772518816821198e6c620f5bc0267409",
"content_sha256": "3489eadcc541104188bdf6c2aaf59cfc772518816821198e6c620f5bc0267409",
"collected_at": "2026-10-20T12:08:04.941022\u002B00:00",
"profile_ids": [
"trimesh-mesh-inspection-documentation"
],
"covers": [
{
"key": "invocation_mode",
"value": "sdk"
}
],
"execution": null
},
{
"evidence_id": "trimesh-mesh-inspection-documentation-e2",
"evidence_type": "documentation",
"source_url": "https://trimesh.org/quick_start.html",
"locator": ".local/deep-cards-v1/cli-sdk-batch-20261024-05/sources/trimesh-mesh-inspection-documentation.txt:L266-L270",
"excerpt": "# an axis aligned bounding box is available\nmesh.bounding_box.primitive.extents\nTrackedArray([4.37792118, 5.55997307, 3.48945051])\n# a minimum volume oriented bounding box is available\nmesh.bounding_box_oriented.primitive.extents",
"source_version": "documentation-sha256:3489eadcc541104188bdf6c2aaf59cfc772518816821198e6c620f5bc0267409",
"content_sha256": "3489eadcc541104188bdf6c2aaf59cfc772518816821198e6c620f5bc0267409",
"collected_at": "2026-10-20T12:08:04.941022\u002B00:00",
"profile_ids": [
"trimesh-mesh-inspection-documentation"
],
"covers": [
{
"key": "invocation_mode",
"value": "sdk"
}
],
"execution": null
}
]
},
"version_read_basis": "archived_revision",
"deep_read": {
"schema_version": "navonavo.capability-read.v1",
"card_id": "cap-ff9abda3ad107e2da52912e8",
"card_version": 2,
"selected_profile_id": null,
"state": "documented",
"review_state": "current",
"read_url": "https://navonavo.com/api/v1/capabilities/cap-ff9abda3ad107e2da52912e8?version=2",
"page_url": "https://navonavo.com/capabilities/cap-ff9abda3ad107e2da52912e8?version=2",
"profiles": [
{
"profile_id": "trimesh-mesh-inspection-documentation",
"component_version": "documentation-sha256:3489eadcc541104188bdf6c2aaf59cfc772518816821198e6c620f5bc0267409",
"summary": "trimesh\u516C\u5F00\u6587\u6863\uFF1B\u672A\u6838\u5B89\u88C5\u3001\u672A\u6267\u884C\uFF0C\u9650\u6240\u5217\u8F93\u5165\u8F93\u51FA\u3002",
"conditions": [
{
"key": "invocation_mode",
"value": "sdk",
"state": "T",
"reason": "Supported within this profile and component version.",
"evidence_refs": [
"trimesh-mesh-inspection-documentation-e1",
"trimesh-mesh-inspection-documentation-e2"
]
}
],
"connection": {
"entry": "trimesh.load_mesh",
"protocol": "Python SDK\uFF08\u6587\u6863\u58F0\u660E\uFF0C\u672A\u6267\u884C\uFF09",
"authentication": "\u6240\u5217\u672C\u5730Python\u793A\u4F8B\u4E0D\u542B\u670D\u52A1\u767B\u5F55\uFF1B\u5305\u83B7\u53D6\u3001\u683C\u5F0F\u4F9D\u8D56\u53CA\u6587\u4EF6\u6743\u9650\u53E6\u6838\u3002",
"environment": [
"\u4EC5\u5B98\u65B9\u6587\u6863\u58F0\u660E\uFF0C\u914D\u65B9proposed\uFF1B\u672C\u7AD9\u672A\u8FDE\u63A5\u3001\u6CE8\u518C\u3001\u8C03\u7528\u7B2C\u4E09\u65B9\u5DE5\u5177\u6216\u6838\u9A8C\u5B9E\u9645\u8D26\u6237\u3002",
"\u5B9E\u9645\u8F93\u5165\u3001\u5BF9\u8C61\u7C7B\u578B\u53CA\u683C\u5F0F\u4F9D\u8D56\u672A\u6838\u3002",
"\u8F74\u5BF9\u9F50\u548C\u6700\u5C0F\u4F53\u79EF\u5B9A\u5411\u5305\u56F4\u76D2\u4E0D\u80FD\u6DF7\u79F0\u540C\u4E00\u5C3A\u5BF8\u3002",
"\u5C01\u95ED\u6027\u548C\u5C3A\u5BF8\u8BCA\u65AD\u4E0D\u7B49\u4E8E\u5DF2\u4FEE\u590D\u3001\u53EF\u5236\u9020\u6216\u6253\u5370\u5C31\u7EEA\u3002",
"Python\u5C5E\u6027\u548Cprint\u5305\u88C5\u4E0D\u6807\u4E3A\u5DF2\u8BC1\u5B9EJSON\u8F93\u51FA\uFF1B\u5F53\u524D\u7248\u672C\u3001\u5E73\u53F0\u3001\u8D39\u7528\u53CA\u5B8C\u6574\u7F51\u7EDC\u884C\u4E3Aunknown\u3002"
],
"pricing_status": "unknown",
"quota_status": "unknown"
},
"recipe": {
"recipe_id": "trimesh-mesh-inspection-documentation-recipe",
"revision": 1,
"required_capabilities": [
"inspect_mesh_watertight_extents"
],
"preconditions": [
"\u4EC5\u5B98\u65B9\u6587\u6863\u58F0\u660E\uFF0C\u914D\u65B9proposed\uFF1B\u672C\u7AD9\u672A\u8FDE\u63A5\u3001\u6CE8\u518C\u3001\u8C03\u7528\u7B2C\u4E09\u65B9\u5DE5\u5177\u6216\u6838\u9A8C\u5B9E\u9645\u8D26\u6237\u3002",
"\u5B9E\u9645\u8F93\u5165\u3001\u5BF9\u8C61\u7C7B\u578B\u53CA\u683C\u5F0F\u4F9D\u8D56\u672A\u6838\u3002",
"\u8F74\u5BF9\u9F50\u548C\u6700\u5C0F\u4F53\u79EF\u5B9A\u5411\u5305\u56F4\u76D2\u4E0D\u80FD\u6DF7\u79F0\u540C\u4E00\u5C3A\u5BF8\u3002",
"\u5C01\u95ED\u6027\u548C\u5C3A\u5BF8\u8BCA\u65AD\u4E0D\u7B49\u4E8E\u5DF2\u4FEE\u590D\u3001\u53EF\u5236\u9020\u6216\u6253\u5370\u5C31\u7EEA\u3002",
"Python\u5C5E\u6027\u548Cprint\u5305\u88C5\u4E0D\u6807\u4E3A\u5DF2\u8BC1\u5B9EJSON\u8F93\u51FA\uFF1B\u5F53\u524D\u7248\u672C\u3001\u5E73\u53F0\u3001\u8D39\u7528\u53CA\u5B8C\u6574\u7F51\u7EDC\u884C\u4E3Aunknown\u3002"
],
"steps": [
"\u51C6\u5907\u5DF2\u83B7\u6388\u6743\u7684\u6700\u5C0F\u8F93\u5165\uFF0C\u6838\u5BF9\u672Cprofile\u7684\u9002\u7528\u8303\u56F4\u3001\u8BA4\u8BC1\u4E0E\u8D39\u7528\uFF1B\u4E0D\u586B\u79C1\u4EBA\u4FE1\u606F\u6216\u51ED\u636E\u5230\u516C\u5F00\u793A\u4F8B\u3002",
"import trimesh\nmesh = trimesh.load_mesh(\u0022model.stl\u0022, process=False)\nprint(mesh.is_watertight)\nprint(mesh.bounding_box.primitive.extents)",
"\u672A\u6765\u83B7\u51C6\u6267\u884C\u540E\u6838\u5BF9\u5B9E\u9645\u8BCA\u65AD\u3001\u8F93\u51FA\u6587\u4EF6\u6216\u5BF9\u8C61\u4E0E\u8F93\u5165\u6761\u4EF6\uFF0C\u4FDD\u7559\u7F3A\u9879\u548C\u8FD0\u884C\u9519\u8BEF\uFF1B\u672C\u6B21\u6CA1\u6709\u6267\u884C\u6B64\u6B65\u9AA4\u3002"
],
"input_contract": "\u672C\u5730\u53D7\u652F\u6301\u7F51\u683C\uFF0C\u793A\u4F8B\u4E3ASTL\uFF1Bprocess=False\u7981\u7528\u81EA\u52A8\u5904\u7406\uFF0C\u4E0D\u4FDD\u8BC1\u4EFB\u610F\u6587\u4EF6\u5B8C\u6574\u6027\u3002",
"output_contract": "Trimesh\u5BF9\u8C61is_watertight\u5C5E\u6027\u548C\u8F74\u5BF9\u9F50\u5305\u56F4\u76D2primitive.extents\uFF1B\u4E0A\u6E38True\u548C\u5C3A\u5BF8\u6570\u7EC4\u4E0D\u662F\u672C\u7AD9\u7ED3\u679C\u3002",
"validation": "\u672A\u6765\u83B7\u51C6\u540E\u7528\u5DF2\u77E5\u9884\u671F\u7684\u81EA\u6709\u7F51\u683C\u6838\u5C5E\u6027\u548C\u5C3A\u5BF8\uFF0C\u533A\u5206\u8BFB\u53D6\u5931\u8D25\u3001\u5BF9\u8C61\u5F02\u5E38\u548C\u5B9E\u9645\u4E0D\u5C01\u95ED\uFF1B\u4E0D\u7528\u4E0A\u6E38\u793A\u4F8B\u503C\u5192\u5145\u672C\u7AD9\u7ED3\u679C\u3002",
"failure_fallback": "\u6761\u4EF6\u4E0D\u6EE1\u8DB3\u3001\u8BA4\u8BC1/\u9650\u6D41/\u7ED3\u6784\u9519\u8BEF\u5373\u505C\u6B62\u8BE5\u8C03\u7528\u5E76\u4FDD\u7559unknown\uFF1B\u4E0D\u5207\u6362\u4ED8\u8D39\u670D\u52A1\u3001\u4E0D\u731C\u5DE5\u5177\u540D\u3001\u4E0D\u6267\u884C\u5199\u64CD\u4F5C\u3002"
},
"evidence": [
{
"evidence_id": "trimesh-mesh-inspection-documentation-e1",
"evidence_type": "documentation",
"source_url": "https://trimesh.org/quick_start.html",
"locator": ".local/deep-cards-v1/cli-sdk-batch-20261024-05/sources/trimesh-mesh-inspection-documentation.txt:L225-L235",
"excerpt": "Quick Start\u00B6\nA simple example showing various properties of Trimesh objects.\nimport numpy as np\nimport trimesh\n# load a file by name or from a buffer\nmesh = trimesh.load_mesh(\u0022../models/featuretype.STL\u0022)\n# to keep the raw data intact, disable any automatic processing\n# mesh = trimesh.load_mesh(\u0027../models/featuretype.STL\u0027, process=False)\n# is the current mesh watertight?\nmesh.is_watertight\nTrue",
"source_version": "documentation-sha256:3489eadcc541104188bdf6c2aaf59cfc772518816821198e6c620f5bc0267409",
"content_sha256": "3489eadcc541104188bdf6c2aaf59cfc772518816821198e6c620f5bc0267409",
"collected_at": "2026-10-20T12:08:04.941022\u002B00:00",
"profile_ids": [
"trimesh-mesh-inspection-documentation"
],
"covers": [
{
"key": "invocation_mode",
"value": "sdk"
}
],
"execution": null
},
{
"evidence_id": "trimesh-mesh-inspection-documentation-e2",
"evidence_type": "documentation",
"source_url": "https://trimesh.org/quick_start.html",
"locator": ".local/deep-cards-v1/cli-sdk-batch-20261024-05/sources/trimesh-mesh-inspection-documentation.txt:L266-L270",
"excerpt": "# an axis aligned bounding box is available\nmesh.bounding_box.primitive.extents\nTrackedArray([4.37792118, 5.55997307, 3.48945051])\n# a minimum volume oriented bounding box is available\nmesh.bounding_box_oriented.primitive.extents",
"source_version": "documentation-sha256:3489eadcc541104188bdf6c2aaf59cfc772518816821198e6c620f5bc0267409",
"content_sha256": "3489eadcc541104188bdf6c2aaf59cfc772518816821198e6c620f5bc0267409",
"collected_at": "2026-10-20T12:08:04.941022\u002B00:00",
"profile_ids": [
"trimesh-mesh-inspection-documentation"
],
"covers": [
{
"key": "invocation_mode",
"value": "sdk"
}
],
"execution": null
}
]
}
],
"warnings": [
"\u8D44\u6599\u4E0E\u6765\u6E90\u58F0\u660E\u4E0D\u7B49\u4E8E\u672C\u7AD9\u5B9E\u6D4B\uFF1B\u672A\u5217\u51FA\u7684\u6761\u4EF6\u4ECD\u672A\u77E5\u3002",
"\u7ED3\u6784\u5316\u914D\u65B9\u53EA\u6309\u516C\u5F00\u58F0\u660E\u68C0\u67E5\u7EA6\u675F\u4E0E\u63A5\u53E3\uFF0C\u4E0D\u6267\u884C\u4EFB\u52A1\u6216\u6388\u4E88\u6743\u9650\uFF1B\u7F3A\u5931\u8BB0\u5F55\u4FDD\u6301\u672A\u77E5\uFF0C\u63A5\u53E3\u517C\u5BB9\u4E0D\u8BC1\u660E\u5B9E\u9645\u6210\u529F\u3002"
]
}
}