不论正向设计还是普通建模时,有时会要求与CAD“一致”,那么在尺寸标注这一话题上面,CAD出图时尺寸标注未建筑标记,将标记打散可以发现本身标记是由矩形块和直线组成的参数化形状。
在Revit中,尺寸标注是以下图的方式显示
线宽开启模式
线宽关闭模式
如果我们想要将Revit线宽模式下的标注转换成CAD中建筑标注的模式,首先需要考虑的是将本身属性改变或者增加标注类型,这样能够最大化的节省我们的时间和精力。
通过LookUp可以发现本身箭头族本身未内置类型,无法修改(此处如果能够修改变成矩形框建筑标记形式,希望能够告知方式)
如果类型只有内置的几个枚举类型,那么我们只有通过二次开发的方式进行解决。那么我们需要的最主要步骤便是找出尺寸标注对角线位置的坐标点并进行族的放置,而且可以与尺寸标注保持pi/4的角度,整个过程完成便可以达到我们最终想要的效果。
在查看设置时,发现本身族类型未不可编辑状态,箭头样式为枚举类型,所以只能通过建族进行覆盖相应位置,并且将尺寸标注样式修改为两侧无对角线样式。
通过这种修改我们可以在出图时进行方式达到CAD的样式。
下面我们需要考虑如何完成相应的操作。可以将整个部分拆分思考:
和上面的一个思路一样,我们将一个逐点标注进行拆分可以大致得出三种情况,对每种情况在进行拆分可以得出更多的分类,在我们得出我们需要那些数据之后便可以根据相应的构件进行提取。
因为尺寸标注本身是一个向两侧延申的射线所以没有起点和终点只有中点可以提取,我们这个时候需要将我们在上面提取出的参考点向射线投影,这样可以得出在参考线上的具体位置,也就是我们最后需要的XY坐标
XYZ p0 = li3.Project(curve.GetEndPoint(1)).XYZPoint;//获取投影点
在得出点之后我们便可以对一些简单的模型进行应用。但是一个项目中尺寸标注会有多种形式,我们在上面只是分析了逐点标注这一种形式,但是更多的还是连续标注,在Revit中连续标注与逐点标注的区别是本身的ReferenceArray的数量增多而且对于参照点按照逐点标注分析我们需要将重复位置进行清楚保证生成的效率防止多余的构件重复摆放。
在分析完点之后,我们接下来需要考虑角度所造成的差异
上面图纸表示的情况如果轴网有倾斜,相应的构件也会有一定概率倾斜放置,那么我们需要在对角度进行计算,让族实例在放置到相应点的时候可以自动的旋转,保证角度和格式的重要性。
我们可以利用标注本身的向量与本身族的向量进行角度转化
得出角度之后进行简单的数学运算,查看一下角度是否 为pi/4或pi*5/4,不是则旋转角度将族进行旋转操作。
在这一步做完之后需要对整个插件进行优化:
一、增加选择族载入的功能并且能够检测是否需要重新载入
二、将原本尺寸标注修改类型,将记号中的对角线或其他设置改为无
由于出图时的比例不同,所以我们需要注意将构件的的数值根据比例的变化进行变化,能够适应不同的图纸样板中比例尺不同的应用
测试插件,修改bug便可以使用了
Revit中应用
CAD中的样式