zoukankan      html  css  js  c++  java
  • objectarx之画多段线和画直线

    void CCommonFuntion::DrowPloyLine(AcGePoint2dArray& inputpoints)
    {
    if (inputpoints.length() < 3)
    return;
    AcDbPolyline *pPolyLine = new AcDbPolyline(3);
    for (int i = 0; i < inputpoints.length(); i++)
    {

    pPolyLine->addVertexAt(i, inputpoints.at(i), 0, 1.0, 1.0);

    }

    AcDbBlockTable *pBlockTable = NULL;
    acdbHostApplicationServices()->workingDatabase()->getBlockTable(pBlockTable, AcDb::kForRead);
    AcDbBlockTableRecord *pBlockTableRocord;
    pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRocord, AcDb::kForWrite);
    AcDbObjectId lineId;
    pBlockTableRocord->appendAcDbEntity(lineId, pPolyLine);
    pBlockTable->close();
    pBlockTableRocord->close();
    pPolyLine->close();
    }

    AcDbObjectIdArray CCommonFuntion::DrowLine(AcGePoint3dArray& inputpoints)
    {
    AcDbObjectIdArray ids;
    if (inputpoints.length() < 2)
    return ids;
    for (int i=0;i<inputpoints.length();i++)
    {

    if (i==inputpoints.length()-1)
    {
    AcDbLine *pPline = new AcDbLine(inputpoints[i], inputpoints[0]);
    AcDbObjectId ID=CCommonFuntion::PostToModelSpace(pPline);
    if (pPline)
    pPline->close();
    ids.append(ID);
    }
    else
    {
    AcDbLine *pPline = new AcDbLine(inputpoints[i], inputpoints[i + 1]);
    AcDbObjectId ID = CCommonFuntion::PostToModelSpace(pPline);
    if (pPline)
    pPline->close();
    ids.append(ID);
    }

    }
    return ids;
    }

  • 相关阅读:
    Winform跨线程操作界面的策略
    Winform DataGridView扩展
    GDI+的常用类
    函数中参数的验证顺序
    C# Winform常见的Editor及其它经验
    能够引起异常的运算符和关键字
    终结程序
    C#异常处理策略
    python3.6入门到高阶(全栈) day01 python 基础
    虚拟机中系统盘扩容
  • 原文地址:https://www.cnblogs.com/Pond-ZZC/p/11813636.html
Copyright © 2011-2022 走看看