S3D,手轮朝向Label

关键词 : SQL,Label,阀门,手轮,Operator,方向,朝向,D irection ,O rientation,Valve 问题描述 :如何 用Label获取阀门手柄方向。 问题处理 : 分析ISOGEN原生阀门手轮逻辑,定制逻辑相同的Label即可。 SELECT j.Oid, CASE — 纯正交方向 WHEN ABS (j.ServerToClient4) < 1e-6 AND ABS (j.ServerToClient5) < 1e-6 THEN CASE WHEN j.ServerToClient6 > 0 THEN 'U' ELSE 'D' END WHEN ABS (j.ServerToClient4) < 1e-6 AND ABS (j.ServerToClient6) < 1e-6 THEN CASE WHEN j.ServerToClient5 > 0 THEN 'N' ELSE 'S' END WHEN ABS (j.ServerToClient5) < 1e-6 AND ABS (j.ServerToClient6) < 1e-6 THEN CASE WHEN j.ServerToClient4 > 0 THEN 'E' ELSE 'W' END — XY平面角度公式 WHEN ABS (j.ServerToClient6) < 1e-6 THEN CONCAT( CASE WHEN j.ServerToClient5 > 0 THEN 'N' ELSE 'S' END , ' ' , ROUND(DEGREES( ATAN ( ABS (j.ServerToClient4) / ABS (j.ServerToClient5))), 0 ), ' ' , CASE WHEN j.ServerToClient4 > 0 THEN 'E' ELSE 'W' END ) — XZ平面 WHEN ABS (j.ServerToClient5) < 1e-6 THEN CONCAT( CASE WHEN j.ServerToClient6 > 0 THEN 'U' ELSE 'D' END , ' ' , ROUND(DEGREES( ATAN ( ABS (j.ServerToClient4) / ABS (j.ServerToClient6))), 0 ), ' ' , CASE WHEN j.ServerToClient4 > 0 THEN 'E' ELSE 'W' END ) — YZ平面 WHEN ABS (j.ServerToClient4) < 1e-6 THEN CONCAT( CASE WHEN j.ServerToClient5 > 0 THEN 'N' ELSE 'S' END , ' ' , ROUND(DEGREES( ATAN ( ABS (j.ServerToClient6) / ABS (j.ServerToClient5))), 0 ), ' ' , CASE WHEN j.ServerToClient6 > 0 THEN 'U' ELSE 'D' END ) — 三维双平面 ELSE CONCAT( 'HOR ' , ROUND(DEGREES(ATN2(j.ServerToClient4, j.ServerToClient5)), 1 ), ' DEG ' , 'VOR ' , ROUND(DEGREES(ATN2( SQRT (j.ServerToClient4 * j.ServerToClient4 + j.ServerToClient5 * j.ServerToClient5), j.ServerToClient6)), 1 ), ' DEG' ) END AS SpindleDirectionLabel FROM JOccurrence j WHERE j.Oid = ?;

原文链接:查看原文  文章来源:耳朵先僧
🔗 分享 0

上5篇 more...

下5篇 more...