目标
按照客户要求将提供的MDB表格生成cad线和注记,具体要求见下图:
要求点:
1,在管段的两端上方及下方标注对应的高程和埋深;
2,注记在端点内侧距离端点1M的位置;
2,注记方向和管段方向保持一致;
难点:
找到注记点的位置以及注记文本旋转角度。
实现步骤
①读取表格——》②生成管段及管点图形——》③计算管段斜率——》④计算注记点座标——》⑤生成注记——》⑥写入管点、管段、注记。
生成管段图形
将管段的两个端点的座标以及要标记的属性关联到管段上。
统一按照从左到右的方向生成管段,确保注记在对应的端点上。
生成管段图形并计算斜率
计算斜率公式:@atan((@Value(_indices{0}.y)-@Value(_indices{1}.y))/(@Value(_indices{0}.x)-@Value(_indices{1}.x)))*180/3.1415926。其中_indices{0}.y,_indices{1}.y为管段端点的座标值。
生成注记点位置
思路,以端点位圆心,1m为半径生成圆,圆转弧线,弧线和管段做相交求出交点点位,交点点位即为注记位置。
生成注记
将前面计算的管段的方向赋值给文本旋转角度,管段和圆交点作为注记的对象 添加注记。
写入cad文件
写入管段图形,写入注记。效果如下图: