CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2019 开发者帮助

与点相交

2024-5-18 17:56| 发布者: admin| 查看: 77| 评论: 0|原作者: admin|来自: AutoCAD

与点相交

该函数返回图元与图形中另一个图元相交的点。此函数的输入值是实体和交集类型,可以是下列值之一:intersectWith()

  • kOnBothOperands (两个实体均未扩展)
  • kExtendThis
  • kExtendArg
  • kExtendBoth

例如,假设图形包含下图中所示的三条线。Line1 是“this”,line3 是参数实体。如果交集类型为 ,则返回点 A,作为 line1 (“this”) 在延长 line1 时与行 3 相交的点。如果交集类型为 且 line2 是参数实体,则不会返回任何数据,因为即使扩展了 line2,line2 也不会与 line1 相交。如果交集类型为 且 line2 是参数实体,则返回点 B。如果交集类型为 且 line2 是参数实体,则不返回任何数据。kExtendThiskExtendArgumentkExtendBothkExtendNone

该函数是具有两种形式的重载函数。第二种形式采用一个附加参数,该参数是用于确定两个实体的表观交集的投影平面。以下是函数的签名:intersectWith()intersectWith()

virtual Acad::ErrorStatus
AcDbEntity::intersectWith(
    const AcDbEntity* ent,
    AcDb::Intersect   intType,
    AcGePoint3dArray& points,
    int               thisGsMarker = 0,
    int               otherGsMarker = 0) const;
 
virtual Acad::ErrorStatus
AcDbEntity::intersectWith(
    const AcDbEntity* ent,
    AcDb::Intersect   intType,
    const AcGePlane&  projPlane,
    AcGePoint3dArray& points,
    int               thisGsMarker = 0,
    int               otherGsMarker = 0) const;

返回的点始终位于实体上 (“this”)。因此,在明显相交的情况下,相交点在返回之前会投影回图元。

该函数的两个版本都允许您提供可选的 GS 标记以优化此功能的性能。如果实体的函数已实现使用 GS 标记,则提供 GS 标记可以定位交叉区域并加快测试速度。例如,在下图中,如果用户选择多边形的一条线,则传入该线的 GS 标记无需测试多边形的其他五条线。intersectWith()intersectWith()

父主题:

  1. 通用实体函数

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2025-1-19 06:40

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部