zoukankan      html  css  js  c++  java
  • AcDbHelix Demo

     1 AcDbObjectPointer<AcDbHelix> aHelix;
     2 aHelix.create();
     3 aHelix->setAxisPoint(AcGePoint3d(0, 0, 10));
     4 aHelix->setAxisVector(AcGeVector3d(0, 0, 1));
     5 aHelix->setStartPoint(AcGePoint3d(0, 20, 0));
     6 aHelix->setBaseRadius(20);
     7 aHelix->setTopRadius(10);
     8 aHelix->setTwist(Adesk::kTrue);
     9 
    10 // case
    11 aHelix->setConstrain(AcDbHelix::kTurnHeight);
    12 aHelix->setTurnHeight(15);
    13 aHelix->setHeight(100); // Turns = Height / TurnHeight
    14 
    15 // case
    16 aHelix->setConstrain(AcDbHelix::kTurnHeight);
    17 aHelix->setTurnHeight(15);
    18 aHelix->setTurns(100); // Height = TurnHeight * Turns
    19 
    20 // case
    21 aHelix->setConstrain(AcDbHelix::kTurns);
    22 aHelix->setTurns(7);
    23 aHelix->setHeight(100); // TurnHeight = Height / Turns
    24 
    25 aHelix->setConstrain(AcDbHelix::kTurns);
    26 aHelix->setTurns(7);
    27 aHelix->setTurnHeight(15); // Height = TurnHeight * Turns
    28 
    29 // case
    30 aHelix->setConstrain(AcDbHelix::kHeight);
    31 aHelix->setHeight(100);
    32 aHelix->setTurns(7); // TurnHeight = Height / Turns
    33 
    34 // case
    35 aHelix->setConstrain(AcDbHelix::kHeight);
    36 aHelix->setHeight(100);
    37 aHelix->setTurnHeight(15); // Turns = Height / TurnHeight
    38 
    39 aHelix->createHelix();
    40 
    41 acutPrintf(_T("StartPoint:%lf,%lf,%lf
    "),
    42     aHelix->startPoint()[0], aHelix->startPoint()[1], aHelix->startPoint()[2]); // 0, 20, 10
    43 acutPrintf(_T("slope:%lf total length:%lf
    "),
    44     aHelix->turnSlope(), aHelix->totalLength());
    45 
    46 AcDbObjectPointer<AcDbLine> xAxis;
    47 AcDbObjectPointer<AcDbLine> yAxis;
    48 AcDbObjectPointer<AcDbLine> zAxis;
    49 xAxis.create();
    50 yAxis.create();
    51 zAxis.create();
    52 AcCmColor color;
    53 color.setRGB(255, 0, 0);
    54 xAxis->setColor(color);
    55 color.setRGB(0, 255, 0);
    56 yAxis->setColor(color);
    57 color.setRGB(0, 0, 255);
    58 zAxis->setColor(color);
    59 xAxis->setStartPoint(AcGePoint3d::kOrigin + AcGeVector3d(0, 0, 10));
    60 yAxis->setStartPoint(AcGePoint3d::kOrigin + AcGeVector3d(0, 0, 10));
    61 zAxis->setStartPoint(AcGePoint3d::kOrigin + AcGeVector3d(0, 0, 10));
    62 xAxis->setEndPoint(xAxis->startPoint() + AcGeVector3d(20, 0, 0));
    63 yAxis->setEndPoint(yAxis->startPoint() + AcGeVector3d(0, 20, 0));
    64 zAxis->setEndPoint(zAxis->startPoint() + AcGeVector3d(0, 0, 100));
  • 相关阅读:
    225. 用队列实现栈
    415. 字符串相加
    rabbitmq的基本使用
    3. 无重复字符的最长子串
    面试题59
    面试题30. 包含min函数的栈
    面试题09. 用两个栈实现队列
    287. 寻找重复数
    1137. 第 N 个泰波那契数
    70. 爬楼梯
  • 原文地址:https://www.cnblogs.com/Yself/p/4769228.html
Copyright © 2011-2022 走看看