Rhino多线端点编辑
功能介绍
这是一个用于Rhino中批量编辑直线端点的Python脚本工具。它允许用户同时选择多条直线的端点并进行移动操作,大大提高了直线编辑的效率。
主要特点
- 支持多条直线同时编辑
- 保持原始图层属性
- 提供两种移动方式:
- 向量移动(通过选点确定)
- 坐标移动(精确输入XYZ值)
- 可视化端点选择
使用方法
- 启动脚本
- 框选需要编辑的直线
- 在显示的端点中框选要移动的端点
- 选择移动方式:
- Vector(向量):通过选择起点和终点来确定移动方向和距离
- Coordinates(坐标):直接输入X、Y、Z方向的位移值
代码解析
1. 初始化和线条选择
lines = rs.GetObjects("Select lines to modify", rs.filter.curve)
line_layers = {
line: rs.ObjectLayer(line) for line in lines}
这部分代码处理直线的选择并保存原始图层信息。
2. 端点可视化
points_to_lines = {
}
for line in lines:
start_pt = rs.AddPoint(rs.CurveStartPoint(line))
end_pt = rs.AddPoint(rs.CurveEndPoint(line))
points_to_lines[start_pt] = (line, True)
points_to_lines[end_pt] = (line, False)
将每条线的端点可视化,并建立端点与线条的映射关系。
3. 移动方式处理
move_method = rs.GetString("Choose move method", "Vector", ["Vector", "Coor