设为首页收藏本站

中国膜结构网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

膜结构车棚
膜结构车棚膜结构资质国产膜材 膜结构网中国膜结构协会
查看: 194|回复: 2

getSplitCurve

[复制链接]
  • TA的每日心情
    开心
    2021-6-20 09:04
  • 签到天数: 1540 天

    [LV.Master]伴坛终老

    发表于 2020-12-28 11:21 | 显示全部楼层 |阅读模式
    我使用getSplitCurves()方法来断开AcDbCurve对象,除了使用PEDIT命令将多段线转换为样条曲线选项(使用该选项时,它们将变成重样条线)之外,所有对象都正常工作
    1. for (int i = 0; i < length1; i++)
    2. {
    3.         AcDbObjectId objId;
    4.         ads_name ename;
    5.         acedSSName(sel1,i,ename);
    6.         if (acdbGetObjectId(objId,ename) != Acad::eOk) return;
    7.         AcDbObjectPointer<AcDbEntity> pEnt(objId,AcDb::kForRead);

    8.         if (pEnt.openStatus() == Acad::eOk)
    9.         {
    10.                 es = pPoly->intersectWith(pEnt.object(),AcDb::kOnBothOperands,ints);

    11.                 if (es == Acad::eOk)
    12.                 {
    13.                         if (!ints.isEmpty()) {
    复制代码
    回复


    http://www.mjgw.org/ 专业从事膜结构设计、制作加工、施工安装的膜结构工程服务,能够为客户提供专业的膜结构整体解决方案。做中国最好的膜结构综合服务平台。欢迎大家联系电话:198-7840-1958,QQ:463017170.
    相关关键词:膜结构车棚,膜结构车棚覆盖,膜结构车棚公司,膜结构车棚多少钱,膜结构车棚厂家,膜结构车棚价格,社区膜结构车棚,膜结构车棚膜布厂家 ,膜结构车棚哪家好,膜结构车棚多少钱一米,膜结构车棚报价,膜结构车棚哪里有,膜结构车棚定制,膜结构车棚安装,膜结构车棚设计,膜结构车棚电话,膜结构车棚加工,膜结构车棚膜布价格,膜结构车棚批发,膜结构车棚制造商,膜结构车棚生产厂家,膜结构车棚设计,膜结构车棚施工,膜结构车棚多少钱一平米,膜结构车棚订制,张拉膜车棚,张拉膜车棚覆盖,张拉膜车棚公司,张拉膜车棚多少钱,张拉膜车棚厂家,张拉膜车棚价格,社区张拉膜车棚,张拉膜车棚膜布厂家 ,张拉膜车棚哪家好,张拉膜车棚多少钱一米,张拉膜车棚报价,张拉膜车棚哪里有,张拉膜车棚定制,张拉膜车棚安装,张拉膜车棚设计,张拉膜车棚电话,张拉膜车棚加工,张拉膜车棚膜布价格,张拉膜车棚批发,张拉膜车棚制造商,张拉膜车棚生产厂家,张拉膜车棚设计,张拉膜车棚施工,张拉膜车棚多少钱一平米,张拉膜车棚订制,常用膜材品牌:德国杜肯、法国法拉利、德国海德斯、德国米乐、日本平岗、韩国秀博、比利时希运、美国赫虏伯、中国科宝、上海慧遥。

    使用道具 举报

  • TA的每日心情
    开心
    2021-6-20 09:04
  • 签到天数: 1540 天

    [LV.Master]伴坛终老

     楼主| 发表于 2020-12-28 11:21 | 显示全部楼层
    1. if (pPoly->isKindOf(AcDb2dPolyline::desc()))
    2. {
    3. AcDb2dPolyline *tmp2dPoly = AcDb2dPolyline::cast((AcRxObject*)pPoly.object());
    4. switch (tmp2dPoly->polyType()) {
    5. case AcDb::k2dCubicSplinePoly:

    6.         acutPrintf(_T("\nPolylineType = k2dCubicSplinePoly"));

    7.         AcDbSpline* spline;
    8.         pPoly->getSpline(spline);
    9.         es = spline->getSplitCurves(pts,curveSegments);

    10.         if (es == Acad::eOk)
    11.         {
    12.                 AcDbObjectId curSpaceId = acdbCurDwg()->currentSpaceId();
    13.                 for (int i=0; i < curveSegments.length(); i++)
    14.                 {
    15.                         tmpCurve = static_cast<AcDbCurve*>(curveSegments[i]);
    16.                         if (tmpCurve) {
    17.                                 AcDbBlockTableRecord *pBlkRec = NULL;
    18.                                 if (acdbOpenObject(pBlkRec,curSpaceId,AcDb::kForWrite) == Acad::eOk)
    19.                                 {
    20.                                         pBlkRec->appendAcDbEntity(tmpCurve);
    21.                                         pBlkRec->close();
    22.                                         tmpCurve->close();
    23.                                 }
    24.                         }
    25.                 }
    26.                 curveSegments.setLogicalLength(0);
    27.         } else {
    28.                 acutPrintf("\nERROR=%s", acadErrorStatusText(es));
    29.                 for (int i = 0; i < curveSegments.length(); i++) {
    30.                         tmpCurve = static_cast<AcDbCurve*>(curveSegments[i]);
    31.                         delete tmpCurve;
    32.                 }
    33.                 curveSegments.setLogicalLength(0);
    34.         }
    35.         break;
    复制代码
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-6-20 09:04
  • 签到天数: 1540 天

    [LV.Master]伴坛终老

     楼主| 发表于 2020-12-28 11:22 | 显示全部楼层
    1. if (pPoly->isKindOf(AcDb2dPolyline::desc()))
    2. {
    3.         AcDb2dPolyline *tmp2dPoly = AcDb2dPolyline::cast((AcRxObject*)pPoly.object());
    4.         if (tmp2dPoly->polyType() == AcDb::k2dCubicSplinePoly)
    5.         {
    6.                 AcDbPolyline *varPoly = new AcDbPolyline();
    7.                 varPoly->convertFrom((AcDbEntity *&)tmp2dPoly,Adesk::kFalse);
    8.                 acdbOpenObject(varPoly, varPoly->objectId(), AcDb::kForWrite);
    9.                 if (varPoly->getSplitCurves(pts,curveSegments) == Acad::eOk)
    10.                 {
    11.                         AcDbObjectId curSpaceId = acdbCurDwg()->currentSpaceId();
    12.                         for (int i=0; i < curveSegments.length(); i++)
    13.                         {
    14.                                 AcDbEntity *pPline = AcDbEntity::cast((AcRxObject*)curveSegments.at(i));       
    15.                                 AcDbBlockTableRecord *pBlkRec = NULL;
    16.                                 if (acdbOpenObject(pBlkRec,curSpaceId,AcDb::kForWrite) == Acad::eOk)
    17.                                 {
    18.                                         pBlkRec->appendAcDbEntity(pPline);
    19.                                         pBlkRec->close();
    20.                                         pPline->close();
    21.                                 }
    22.                         }
    23.                 }
    24.                 varPoly->close();
    25.                 delete varPoly;
    26.         }
    27. }
    复制代码
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    推荐膜材品牌上一条 /6 下一条

    进口膜材 国产膜材 pvdf膜材ptfe膜材ETFE膜材
    最好的膜结构公司 一级膜结构资质 膜结构一级资质
    膜结构设计-膜结构十大品牌-etfe设计-充气膜结构
    诺科膜结构
    遨都膜结构设计
    中国膜结构网
    中国空间膜结构

    QQ|申请友链|手机版|中国膜结构论坛