函数原型:

virtual Acad::ErrorStatus getSplitCurves(const AcGePoint3dArray& points, AcDbVoidPtrArray& curveSegments
) const;

参数:

const AcGePoint3dArray& points      在曲线上的分割点数组(在WCS坐标中)
AcDbVoidPtrArray& curveSegments 返回带有指向原始子曲线的新创建实体的指针的指针

简介:

此函数创建一个或多个实体,它们都是原始实体的子曲线。 points数组必须包含曲线上的点,这些点用作新创建的子曲线的起点或终点。第一个子曲线从原始曲线的起点开始,并在点数组中的第一个点结束。第二个子曲线在点数组的第一个点开始,在点数组的第二个点结束。第三个子曲线在第二个点开始,在第三个点结束,依此类推。最后一个子曲线从点数组的最后一个点开始,并在原始曲线的端点处结束。

如果连续点是重合的(包括原始曲线的起点到第一个数组点,最后一个数组点到原始曲线的终点),则不会为该对创建子曲线。

所有新曲线的指针都附加到curveSegments数组中。

在curveSegments数组中返回的实体是动态分配的,但尚未添加到AcDbDatabase中。因此,调用此函数的应用程序负责其内存。如果随后将它们附加到数据库,则数据库将接管其内存的责任。否则,应用程序负责在不再需要它们时将其删除。

根据此函数的实现方式,该函数可能返回除Acad :: eOk之外的ErrorStatus,并且仍将一些指针添加到curveSegments数组的子曲线上(AcDbArc会这样做)。通常,这是在点数组中间某处无效点的结果。因此,非常重要的一点是在返回时检查curveSegments数组的大小,以确保正确处理了所创建的任何子曲线。

要在curveSegments数组中使用指针,调用应用程序将需要将指针转换为适当的对象类型。对于此功能,curveSegments数组中的指针所指向的对象通常与原始曲线属于同一类。但是,这不是必需的。为了安全起见,应使用适当的类的强制转换方法强制转换指针。

如果成功,则返回Acad :: eOk。

如果点为空或点中的任何点不在曲线上,则返回Acad :: eInvalidInput。如上所述,有可能返回此ErrorStatus并且仍然将某些子曲线指针附加到curveSegments数组。

对于使用ShapeManager的AutoCAD内置类(AcDbEllipse,AcDbSpline,AcDbBody,AcDbRegion和AcDb3dSolid),如果ShapeManager建模器中发生错误,则返回Acad :: eGeneralModelingFailure。

其他ErrorStatus返回值取决于实现。

默认实现返回Acad :: eNotImplemented。

将一个多段线按一些点分割成一个或多个线段相关推荐

  1. 百度云 职称计算机cad,2017年职称计算机CAD知识:多段线

    2017年职称计算机CAD知识:多段线 导语:在AutoCAD 2010中,用户可以一次编辑一条多段线,也可以同时编辑多条多段线.这些内容你都知道吗?我们一起来看看吧. 多段线 多段线是一种由直线段和 ...

  2. AutoCAD 2008 绘制构造线和多段线

    实例27 绘制构造线和多段线 构造线是向两个方向无限延伸的直线,它通常用来创建其他对象的参照.多段线是作为单个对象创建的相互连接的序列线段,使用多段线可以创建直线段.弧线段或两者的组合线段.本例将通过 ...

  3. AutoCAD二次开发多段线分割、添加顶点

    今天我们来学习关于多段线中添加顶点方面知识,这里使用的是autocad2016版,开发环境使用的是visual studio2012,很自然使用的.net4.5,这样做的主要的目的是,在使用polyl ...

  4. 多段线简化算法,看这一篇就够了

    本文参考自:https://www.codeproject.com/Articles/114797/Polyline-Simplification 前言 在计算几何中,经常我们会碰到需要简化输入Pol ...

  5. 统计多段线长度命令_Auto CAD机械绘图入门教程11(编辑命令:延伸)

    1.延伸命令可以将所选的直线.射线.圆弧.椭圆弧.非封闭曲线的二维或三维多段线延伸到指定的直线.射线.圆弧.椭圆弧.圆.椭圆.二维或三维多段线.构造线和区域等的上面. 1.1.执行途径: 执行延伸的命 ...

  6. AutoLISP将多段线各个端点坐标写入外部文件

    AutoLISP将多段线各个端点坐标写入外部文件,代码如下. (defun c:test()   (setvar "cmdecho" 0)   (setq ffn (getfile ...

  7. cad多段线画圆弧方向_CAD箭头怎么画

    CAD箭头怎么画 问:CAD箭头怎么画? 答:想要回答CAD箭头怎么画这个问题,得先从CAD多段线命令说起,画箭只是多段线的一种应用. 执行CAD多段线命令的三种方式 1.单击菜单栏上的"绘 ...

  8. cad多线段长度计算总和_没想到啊,我平时用的CAD多段线有这么多学问

    很多人都说,CAD用多段线来代替直线绘图会比较方便,因为多段线除了常规直线功能之外,也能画弧线,更重要的是,一次命令执行的线条为一个整体,操作方便. 难道多段线PL仅仅只有这明面上的实力吗? 当然不是 ...

  9. lisp 回执多段线_多段线上加点的LISP程序源码

    (defun c:jk() ;;;功能:在POLYLINE和LWPOLYLINE上增加节点 ;;;编制日期:2006-03-21 ;;;作者:冯焱 (VL-LOAD-COM) (princ " ...

最新文章

  1. cf 414B Mashmokh and ACM 动态规划
  2. Android Gradle查询器
  3. oracle表压缩比,oracle的compress 特性介绍
  4. group by 和where 条件后面不能用刚设置的别名。
  5. ListView缓存机制踩过的坑
  6. C#托管代码调用C++非托管代码
  7. Linux网络设备驱动概述
  8. 图像分割(一):K-means聚类算法
  9. html页面字段怎么排版,如何做好html的排版标签
  10. msgpack在java和go中序列化的区别
  11. Springboot整合阿里云短信SDK发送短信验证码笔记
  12. 鼎捷T100权限管控设定
  13. linux解密shadow_Linux系统中的/etc/shadow文件超详细内容解析
  14. 法国五名酒吧和咖啡馆老板因使用无日志WiFi网络被捕
  15. 新Word文档借用旧文档的部分样式
  16. Druid数据库密码加密 包含单数据源密码加密,多数据源密码加密详细配置
  17. Proteus电路图绘制与CubeMX生成框架下填充Keil 5代码的联调仿真
  18. BP算法推导(python实现)
  19. 求n的阶乘和n的阶乘的和
  20. 微服务下的链路追踪(Sleuth+Zipkin)

热门文章

  1. 【网络协议模糊测试实战】使用sulley对PCManFTP进行模糊测试
  2. java高级软件工程师面试_高级软件工程师的新面试问题
  3. 永琳的竹林迷径(path)
  4. Android Studio 命令行Gradle编译
  5. bootstrap模态框弹出居中显示
  6. 软件exe图标变记事本或浏览器、360压缩打不开的几种应急解决方法
  7. Rasa课程、Rasa培训、Rasa面试、Rasa实战系列之 Model Confidence v2
  8. 登陆失败:用户账户限制。可能的原因包括不允许空密码.........解决方案
  9. 解决前端工程师与UI设计协同工作的问题
  10. 《深入理解计算机系统》之浅析程序性能优化