MaxScript:轻松从3ds Max导出模型名称与尺寸到CSV表格
要使用 MaxScript 从 3ds Max 中导出模型的名称、长度、高度和宽度,并将其保存为 CSV 文件,你可以按照以下步骤编写脚本。这个示例将展示如何获取选定对象的基本信息并将其格式化为 CSV 格式。 首先,确保你已经选择了需要导出信息的对象。接下来,使用以下脚本来实现目标: ```maxscript -- 定义一个函数来计算对象的边界框尺寸 getBoundingBoxSize (obj) = ( local bbox = obj.boundingBox local size = bbox.max - bbox.min [size.x, size.y, size.z] ) -- 获取当前选择的对象列表 local selectedObjects = #($selectionSet) -- 检查是否有选中的对象 if (count selectedObjects > 0) then ( -- 初始化 CSV 数据 local csvData = "Name,Length,Height,Width\n" -- 遍历每个选中的对象 for obj in selectedObjects do ( -- 获取对象名称 local name = obj.name -- 计算对象的尺寸 local [length, height, width] = getBoundingBoxSize(obj) -- 将数据添加到 CSV 字符串中 csvData += name ++ "," ++ (toString length) ++ "," ++ (toString height) ++ "," ++ (toString width) ++ "\n" ) -- 保存 CSV 数据到文件 local filePath = browseForFolderDialog "选择保存路径" + "\\model_data.csv" if (filePath != "") then ( fStreamOpenWrite(filePath, true) as stream do ( stream.write(csvData) ) ) infoBox "完成" "模型数据已成功导出到 " ++ filePath ) else ( infoBox "警告" "请先选择至少一个对象!" ) ``` 解释: 1. getBoundingBoxSize 函数:此函数接收一个对象作为参数,返回该对象的边界框大小(长度、高度、宽度)。 2. selectedObjects:获取当前选择的对象列表。 3. csvData 初始化:定义一个字符串变量 `csvData` 并初始化其内容,包括 CSV 的表头。 4. 遍历对象:对每个选中的对象执行操作,获取其名称和尺寸,并将其格式化为 CSV 行。 5. 保存 CSV 文件:使用 `browseForFolderDialog` 函数让用户选择保存路径,并将 `csvData` 写入指定的文件。 运行此脚本后,将会弹出一个文件对话框让你选择 CSV 文件的保存位置。如果成功选择了一个位置,脚本会将数据写入文件并显示一个信息框确认操作已完成。如果未选择任何对象,则会弹出警告信息。 ######[AI写代码神器 | 601点数解答 | 2024-10-03 14:28:08]
- 计算机表格数据结构全解析:从基础概念到 CSV 文件编程排序实现 (字节豆包 | 257点数解答 | 2025-12-08 17:31:17)58
- Python:两种方法读取比赛得分数据,筛选85分以上同学(阿里通义 | 563点数解答 | 2024-12-12 18:07:35)262
- Python 读取 scores.csv 文件:输出数据并筛选 85 分以上同学,代码完善与注意事项揭秘(字节豆包 | 298点数解答 | 2024-12-12 18:15:17)269
- Python 读取 scores.csv 文件:输出全量数据并揪出 85 分以上同学(阿里通义 | 340点数解答 | 2024-12-13 12:36:14)225
- Python:读取班级比赛得分 CSV 文件,筛选 85 分以上同学全攻略 (阿里通义 | 319点数解答 | 2024-12-13 12:54:42)313
- C++代码详解:输入7数算三式,找出最大并输出(字节豆包 | 819点数解答 | 2025-11-16 19:12:58)95
- SQL:[pr_createdtables]存储过程代码解析及表创建准备 (字节豆包 | 33点数解答 | 2024-08-29 15:34:33)359
- Maxscript 在 Windows 系统中使用 LitJson.dll 库:示例、注意事项全解析(字节豆包 | 212点数解答 | 2025-01-13 21:18:46)256
- Maxscript 替代 C# 字典与 List:数组使用指南及注意要点(字节豆包 | 183点数解答 | 2025-01-13 22:53:17)303
- Python:从 CSV 文件读取学生成绩并按成绩降序排序写入新文件的优化方案(阿里通义 | 447点数解答 | 2024-11-27 21:37:39)265
- Python用CSV模块读取成绩表,精准输出“赵四”成绩及注意要点(阿里通义 | 248点数解答 | 2024-11-27 22:27:54)254
- 代码填空挑战:完成正态分布、随机数生成及数据处理代码(阿里通义 | 506点数解答 | 2025-03-23 14:32:14)343