zoukankan      html  css  js  c++  java
  • IfcFirstProjAxis

    函数定义

    注:定义符合ISO/CD 10303-42:1992
    此函数生成三维方向,即在完全定义输入的情况下,arg在垂直于z轴的平面上的投影。默认为arg时,结果是(1.0,0.0,0.0)在此平面上的投影,但如果z轴=(1.0,0.0,0.0),则(0.0,1.0,0.0)用作arg的初始值。如果arg与输入z轴的方向相同,则会发生冲突。
    注:根据ISO 10303-42中定义的第一个投影轴改编的功能。
    IFC1.5中增加的新函数

    EXPRESS Specification

    FUNCTION IfcFirstProjAxis
      (ZAxis, Arg : IfcDirection) : IfcDirection;
    LOCAL
      XAxis : IfcDirection;
      V     : IfcDirection;
      Z     : IfcDirection;
      XVec  : IfcVector;
    END_LOCAL;
    
      IF (NOT EXISTS(ZAxis)) THEN
        RETURN (?) ;
      ELSE
        Z := IfcNormalise(ZAxis);
        IF NOT EXISTS(Arg) THEN
          IF (Z.DirectionRatios <> [1.0,0.0,0.0]) THEN
            V := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([1.0,0.0,0.0]);
          ELSE
            V := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0,1.0,0.0]);
          END_IF;
        ELSE
          IF (Arg.Dim <> 3) THEN
            RETURN (?) ;
          END_IF;
          IF ((IfcCrossProduct(Arg,Z).Magnitude) = 0.0) THEN
            RETURN (?);
          ELSE
            V := IfcNormalise(Arg);
          END_IF;
        END_IF;
        XVec  := IfcScalarTimesVector(IfcDotProduct(V, Z), Z);
        XAxis := IfcVectorDifference(V, XVec).Orientation;
        XAxis := IfcNormalise(XAxis);
      END_IF;
      RETURN(XAxis); 
    END_FUNCTION;
    QQ 3087438119
  • 相关阅读:
    第一天
    在代码层面描述软件的可测试性
    Datax环境搭建
    质量属性中六个常见的属性场景--以淘宝网为例
    01.《架构漫谈》阅读笔记
    我的第一个MVC程序(SpringMVC的环境搭建与实例运用)
    1.15学习进度总结
    1.14学习进度总结
    1.13学习进度总结
    1.12学习进度总结
  • 原文地址:https://www.cnblogs.com/herd/p/14426763.html
Copyright © 2011-2022 走看看