滑动节点(Slidenodes)是沿着预先定义好的导轨(rails)移动的节点。常见的应用场景包括转向齿条以及一些悬架组件,例如麦弗逊支柱。
滑动节点的使用前,需要已经创建好相应的节点和导轨,因为滑动节点需要同时引用这两者。请注意,节点必须与导轨精确对齐,否则在生成滑动节点时,节点可能会自动对齐导轨,从而引发相关问题。
"slidenodes": [
["id:", "railName", "attached", "fixToRail", "tolerance", "spring", "strength", "capStrength"],
["nodename", "Rail1", true, true, 0, 10000000, 100000000, 345435],
],
导轨是为滑动节点提供移动路径的轨道。它们由一个或多个通过节点定义的段组成。
一个导轨可以由多个段组成,这些段不一定需要在一条直线上。
"rails": {
"Rail1":{"links:":["node1", "node2", "node3", "node4"], "broken:":[], "looped":false, "capped":true}
},
"links:":["node1", "node2"],
"links:":["node1", "node2", "node3", "node4"],
自版本 0.38 起,rails2 部分和 rails 完全相同,拥有相同的参数,但格式不同,更加符合其他 Jbeam 部分的格式规范。
//这两种写法是完全一样的
"rails": {
"Rail1":{"links:":["node1","node2","node3"], "broken:":[], "looped":false, "capped":true},
"Rail2":{"links:":["node4","node5"], "broken:":[], "looped":false, "capped":true},
},
"rails2":[
["id", "links:", "broken:","looped","capped"],
["Rail1", ["node1","node2","node3"], [], false, true ],
["Rail2", ["node4","node5"], [], false, true ],
],
/* 这两种定义 rails 的方式效果完全相同 */ //
与标准 rails 语法相比,这种语法的优点在于可以通过函数 动态生成导轨 id,这样同一个零件就可以通过不同的导轨名称多次复用(以前只有 rails 部分不支持,其他 Jbeam 部分都可以这样做)。
导轨和滑动节点的典型用法之一就是转向齿条。
"rails": {
"steeringrack":{
"links:":["fh6r", "fh6l"], "broken:":[], "looped":false, "capped":true,
},
},
"slidenodes": [
["id:", "railName", "attached", "fixToRail", "tolerance", "spring", "strength", "capStrength"],
["st1r", "steeringrack", true, true, 0.0, 18001000, "FLT_MAX", "FLT_MAX"],
["st1l", "steeringrack", true, true, 0.0, 18001000, "FLT_MAX", "FLT_MAX"],
],
使用 rails2 和函数,可以实现动态生成导轨名称。
"rails2": [
["id", "links:", "broken:","looped","capped"],
["$= $prefix .. 'r1'", ["1r", "5r"], [], false, true],
["$= $prefix .. 'r2'", ["3r", "7r"], [], false, true],
["$= $prefix .. 'l1'", ["1l", "5l"], [], false, true],
["$= $prefix .. 'l2'", ["3l", "7l"], [], false, true],
],
"slidenodes": [
["id:", "railName","attached", "fixToRail","tolerance","spring", "strength", "capStrength"],
["0r", "$= $prefix .. 'r1'", true, true, 0.0, 60000, 400000, 400000],
["0r", "$= $prefix .. 'r2'", true, true, 0.0, 60000, 400000, 400000],
["0l", "$= $prefix .. 'l1'", true, true, 0.0, 60000, 400000, 400000],
["0l", "$= $prefix .. 'l2'", true, true, 0.0, 60000, 400000, 400000],
],
这篇文章对你有用吗?