【C#】DgnConeDetail的vec0和vec90两个参数除了指定底面所在平面的方向外,是不是还会影响半径值?

我一直以为vec0和vec90两个参数只是指定方向的,但是发现它们的大小还会影响半径,因为我半径已经赋值给radiu参数了,结果生成出来的圆柱体的半径大小不一,但是很明显跟圆柱体的高有相关性(因为我vec0和vec90的赋值涉及到圆柱体高)。

这里想问这两个参数跟半径有什么关系啊?

        /// <summary>
        /// 已知两个端点和半径创建圆柱体。
        /// </summary>
        /// <param name="bottomCenter">圆柱体底中心。</param>
        /// <param name="topCenter">圆柱体顶中心。</param>
        /// <param name="radius">半径。</param>
        /// <param name="m">当前模型空间。</param>
        /// <returns></returns>
        public static Element RunUor(DPoint3d bottomCenter, DPoint3d topCenter, double radius, DgnModel m)
        {
            DVector3d cylinderAxis = new DVector3d(bottomCenter, topCenter);
            DVector3d vec0 = DVector3d.CrossProduct(0, 0, 1, cylinderAxis.X, cylinderAxis.Y, cylinderAxis.Z);            
            DVector3d vec90 = DVector3d.CrossProduct(vec0.X, vec0.Y, vec0.Z, cylinderAxis.X, cylinderAxis.Y, cylinderAxis.Z);
            Element cylinderElement = CreateCylinderElement(bottomCenter * TinyFunc.UorPerMeter(), topCenter * TinyFunc.UorPerMeter(), vec0, vec90, radius * TinyFunc.UorPerMeter(), m);
            return cylinderElement;
        }

        private static Element CreateCylinderElement(DPoint3d bottomCenter,DPoint3d topCenter,DVector3d vec0,DVector3d vec90,double radius,DgnModel m)
        {
            DgnConeDetail cone = new DgnConeDetail(bottomCenter, topCenter, vec0, vec90, radius, radius, true);
            SolidPrimitive solid = SolidPrimitive.CreateDgnCone(cone);
            Element solidElement = DraftingElementSchema.ToElement(m, solid, null);
            return solidElement;
        }