利用Dynamo绘制行车道标线

 这里写到的行车道标线,主要讲的是实线虚线两类。总体来说,实线部分因为它是连续的,所以只要能够获取到路线或者有桥面控制点坐标,那么就能依照前面箱梁放样制作的思路去生成;而虚线部分则需要进一步考虑哪里应该生成标线,哪里是需要断开的。

对于虚线部分制作的步骤流程如下:

  • 利用dy读入桥面两侧控制点坐标;
  • 将读入的两侧坐标进行一一连线;
  • 在连线上依据标线偏移距离找到对应点;
  • 将找到的对应点连成一条Curve线(这就是对应标线的中线);
  • 按照标线的长度(L)连续两标线间的距离(D)最大公约数对Curve线进行划分;
  • 在划分好的点上建立坐标系;
  • 将标线轮廓转移至坐标系中;
  • 对轮廓按照连线的角度(即各点处桥面横坡)进行旋转;
  • 提取需要的轮廓生成实体。

针对上面的流程,下面就一步步进行展示讲解,首先来张完成标线后的图。

利用Dynamo绘制行车道标线_第1张图片

同样,前面就是读取excel表格坐标数据。下面部分是根据左右两侧的数据生成两侧的点,将对应的点连成直线。有了一条条直线再根据标线的距离找到标线的中心点,并将其连线。这里是右侧车道,1000和12250分别是实线部分对于左侧起点的距离。

利用Dynamo绘制行车道标线_第2张图片

利用Dynamo绘制行车道标线_第3张图片

实线有两条,展示第一条。将第一条实线中心线提取出来并在上面建立坐标系,因为是实线,所以直接等分建立了80个坐标系,也就是后面在这个实线的整个中线上会有80个标线轮廓。这个标线轮廓,同样用常规模型模型线进行绘制,轮廓就是2mm高,200mm宽的长方框(虚线部分宽150mm)。提醒一点,就是整个轮廓绘制的时候往上提几毫米,这样不与桥面铺装出现重叠。

利用Dynamo绘制行车道标线_第4张图片

轮廓放置到了标线中心线上,但是因为桥面存在横坡,所以还需要对放好的标线轮廓进行旋转。顺便提一下,这里的旋转与桥墩、承台旋转不太一样。桥墩、承台旋转都是在系统三维坐标的X、Y平面上进行旋转,而这里的旋转是在我们自建的坐标系X、Y平面上进行旋转(箱梁部分横坡做法也是如此)。接下来,同样找到用于角度对比的两个向量,其中一个就是左右两侧线段等分80份(这个随意取数量)位置处的对应连线,还有一个就是自建坐标系中的X向量(根据需要考虑是否反向)。将角度一一赋予给放置好的轮廓,有了轮廓就可以直接放样融合生成实体了。

利用Dynamo绘制行车道标线_第5张图片

实线部分就是注意下旋转部分,其他都是常规操作了。下面就对于虚线部分不同的地方进行下说明。前面是一样的,这里的距离同样是距左边起点,分别是第一条实线中点加一个车道宽度和两个车道宽度(三车道)。

利用Dynamo绘制行车道标线_第6张图片

 同样展示第一条,这里在标线中线上取点相对实线部分就有不同了。因为虚线是有固定长度L,和固定距离D的。这里,标线长度L=6m,间隔距离D=9m。为了后面能够按照这样的距离进行分开,所以就取了最大公约数,每3m在中线上取点建立坐标系。同样,将标线的轮廓放置到建立的坐标系中。

利用Dynamo绘制行车道标线_第7张图片

利用Dynamo绘制行车道标线_第8张图片

旋转部分,这里的旋转要注意角度的第一个向量应该如何取。按照距离取点,出现一个问题就是,曲线偏移后长度是发生变化的。如果第一向量按照两条曲线上对应距离上的点连线来获得,那么越到后面的向量就会出现的偏差越大。所以要按照两条曲线上对应的比例来获得连线。先获取标线中线上的点的比例参数,再通过这个比例参数去获得边线上对应的点,然后将对应的点进行连线获得向量。接下来就同上了,与自建坐标系中X向量对比获得角度,并赋予给轮廓。

利用Dynamo绘制行车道标线_第9张图片

虚线部分的轮廓也都放置好了,现在就对轮廓进行划分,让其在对应的位置生成实体。中线上每隔3m就有个轮廓,对这些轮廓按照5的步距进行切片,也就是依次每5个轮廓为一组。然后再从这5个中取其中前3个,即6m标线部分,只让每组的这3个生成实体,那么虚线部分的间隔就体现出来了。下面再生成实体前还进行了一步排空值操作“list.clean”,这是因为切片或者取值时列表总数不一定那么准确的“够分”。很有可能最后一个小list中会出现空值,所以提前将其排出。

利用Dynamo绘制行车道标线_第10张图片

最后就是将生成的实体合并成一个,然后输出到revit中了。这里的“Spring”节点 ,虽然提供了材质,但是输出到revit中后貌似赋予了材质选项,但是仍然关联不上构件实体。可能是因为版本过低的原因,不过这种情况双击进入族中重新关联个材质就可以了。

利用Dynamo绘制行车道标线_第11张图片

 

你可能感兴趣的:(利用Dynamo绘制行车道标线)