UNPKG

vue2-tunnel-lining

Version:

A Vue2 component for tunnel lining design with MxCAD integration

118 lines (106 loc) 3.82 kB
import { McGePoint3d, McObjectId } from "mxcad"; import { CxwDraw } from "../../TunnelCADFns/CxwDraw"; import { LinData } from "./LinData"; import { Setting } from "../../Setting/Setting"; import { MxFun } from "mxdraw"; import { Cad } from "./Cad" export class LinDrawFzx { /** * 绘制辅助线:内轨顶面,线路中线、断面中线 */ public static async DrawFzx_Dx(set: Setting) { try { console.log("Creating Fzx_dx with the following parameters:", set) const IdCol: McObjectId[] = []; const lts = 1; console.log("🚀 开始绘制倒三角形辅助线 DrawFzx_Dx"); IdCol.push(await Cad.addTriangle(new McGePoint3d(0, 0, 0), 2)); IdCol.push(await CxwDraw.addText6P(new McGePoint3d(2, 0, 0), "内轨顶面", 3.5, 0, 0.7, 0)); IdCol.push(await CxwDraw.addLine3P( new McGePoint3d(-LinData.b1_z, 0, 0), new McGePoint3d(LinData.b1_y, 0, 0), 7 )); IdCol.push(await CxwDraw.addLine( new McGePoint3d(0, -30, 0), new McGePoint3d(0, LinData.H_ngToO1 + LinData.RadiusFourth1 + 3, 0), 7, "CENTER", 5 / lts )); if (LinData.b1_y !== LinData.b1_z) { const midX = (LinData.b1_y - LinData.b1_z) / 2; IdCol.push(await CxwDraw.addLine( new McGePoint3d(midX, -30, 0), new McGePoint3d(midX, LinData.H_ngToO1 + LinData.RadiusFourth1 + 3, 0), 7, "CENTER", 5 / lts )); } if (LinData.b1_y > LinData.b1_z) { IdCol.push(await CxwDraw.addMtext( new McGePoint3d(LinData.O1.x - 3.5, LinData.O1.y + 35, 0), "断 面 中 线", 3.5, 0.7, 1 )); IdCol.push(await CxwDraw.addMtext( new McGePoint3d(LinData.O1.x + 1.0 + (LinData.b1_y - LinData.b1_z) / 2, LinData.O1.y + 35, 0), "线 路 中 线", 3.5, 0.7, 1 )); } else { IdCol.push(await CxwDraw.addMtext( new McGePoint3d(LinData.O1.x + 1, LinData.O1.y + 35, 0), "断 面 中 线", 3.5, 0.7, 1 )); IdCol.push(await CxwDraw.addMtext( new McGePoint3d(LinData.O1.x - 3.5 + (LinData.b1_y - LinData.b1_z) / 2, LinData.O1.y + 35, 0), "线 路 中 线", 3.5, 0.7, 1 )); } set.ChenQi.LT.DicIdCol.set("FzxId", IdCol); console.log("Creating successfully") } catch (err) { console.error("错误代码 1104 - DrawFzx_Dx 出错", err); } } /** * 坑道辅助线 */ public static async DrawFzx_Fzkd(set: Setting) { try { const IdCol: McObjectId[] = []; const lts = 1; IdCol.push(await Cad.addTriangle(new McGePoint3d(0, 0, 0), 2)); IdCol.push(await CxwDraw.addText6P(new McGePoint3d(2, 0, 0), "坑底面", 3.5, 0, 0.7, 0)); IdCol.push(await CxwDraw.addLine( new McGePoint3d(0, -30, 0), new McGePoint3d(0, LinData.H_ngToO1 + LinData.RadiusFourth1 + 3, 0), 7, "CENTER", 5 / lts )); IdCol.push(await CxwDraw.addMtext( new McGePoint3d(LinData.O1.x - 3.5, LinData.O1.y, 0), "断 面 中 线", 3.5, 0.7, 1 )); set.ChenQi.LT.DicIdCol.set("FzxId", IdCol); } catch (err) { console.error("错误代码 1104 - DrawFzx_Fzkd 出错", err); } } }