# 管道创建工具
管道创建工具(TubeTool)由 @tx3d/extension 包提供。
import { TubeTool ,TubeToolParameters } from '@tx3d/extension';
//参数
const params:TubeToolParameters = {
adsorbDistance: 0.05, //吸附距离
radius: 0.01, //绘制管道半径
partUrl: './assets/models/三维组态/阀大.glb' //附加物url
};
// 添加管道创建工具
const tubeTool = engine.toolManager.addTool( TubeTool,params );
// 激活管道创建工具
engine.toolManager.activateTool(TubeTool);
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
提示
管道创建工具参数,详见TubeToolParameters。
# 属性
🌏 activeCreate 激活创建
tubeTool.activeCreate = true;
提示
激活创建属性默认是开启的 如果不开启是不会创建管道的 可以用来调整起始绘制点的位置 例如想在空中某个位置当做起点绘制管道。
🌏 adsorbDistance 吸附距离
tubeTool.adsorbDistance = 0.01;
提示
吸附距离表示的是 当前点距离目标多少距离的时候 自动吸附上去,值越大吸附的灵敏度越高。
🌏 curRadius 当前创建管道宽度
tubeTool.curRadius = 0.05;
🌏 partUrl 附加部件url
tubeTool.partUrl = './assets/models/三维组态/阀大.glb';
🌏 nodeDistance 节点间距
tubeTool.nodeDistance = 1.5;
提示
节点距离只有在编辑和创建模式下才会有效。当无效时 设置值不生效 获取值为-1。
# 接口
🌏 switchModel 切换状态
tubeTool.switchModel( TubeToolModel.EDIT ); // TubeToolModel.CREATE TubeToolModel.EDIT TubeToolModel.ADDITION
# 使用说明
说明
编辑器有三种模式 分别是 创建模式 编辑模式 和 添加附加物模式。
通过switchModel方法来切换模式。
参数有 TubeToolModel.CREATE TubeToolModel.EDIT TubeToolModel.ADDITION。
所有操作均支持撤销和重做功能。
# 创建模式
说明
通过拖动坐标轴来控制当前绘制点位置。
何时开始创建? 在第一次拖动坐标轴时 开始创建一条新的管道 在每次拖动过程中 如果当前点和下一个目标点位置 不在一条直线上 则自动插入关键点。
何时结束创建? 在鼠标点击任意位置时 结束这条管线的绘制。
鼠标单击功能
当单击到管线上和中间节点上 则会触发打断机制,打断管线。
当单击到其他物体上 则会触发定位机制,定位到当前点击的位置。
拖动坐标轴结束后
当前绘制点在其他管道的端点、中间节点、连接点、管道上时会触发连接功能,连接管道,并且结束当前绘制。
# 编辑模式
说明
首先单击选中要操作的节点。
移动选中的节点到任意位置。
当节点移动到其他管线上的 端点、中间节点、连接点、管道上 时会触发连接功能,连接管道。
# 附加物模式
说明
首先设置要添加部件的资源路径,可以在初始化工具时通过参数添加,也可以后续通过partUrl属性来设置资源路径
然后通过鼠标右键单击管道上 添加对应附加物。
后续可通过平移旋转工具调整附加物的旋转和位置。
# 节点距离说明
说明
节点之间的距离会在每个节点上显示。代表当前节点距离前一个节点的距离。
通过nodeDistance属性可以调整当前节点距离。
只有在创建模式和编辑模式下可以调整节点距离。