欢迎来到我的博客
Civil 3D开发与应用,欢迎加入QQ群:484124761
AutoCAD开发,欢迎加入QQ群:193522571

AutoCAD Geometry 中BoundedPlane 是平行四边形,不是三角形

 

 

第一次使用这个类,

起初以为这个BoundedPlane 是三角形,

没想到在求取交点时,

有交点位于三角形之外,

在QQ群193522571中请教,

群友45168391告诉我BoundedPlane是平行四边形,

不是三角形,

并且告诉我需要对对加过进行判断,

或者简单的求两次,

用不同的BoundedPlane的来求,

都能得到交点,

交点必然在三角形之中。

复制代码
Point3d p1 = new Point3d();
Point3d p2 = new Point3d(3, 0, 0);
Point3d p3 = new Point3d(1, 3, 0);
Point3d p4 = new Point3d(3, 2, 0);
Point3d p5 = new Point3d(3, 2, 1);

Point3d p6 = new Point3d(3, 4, 0);
Point3d p7 = new Point3d(3, 4, 1);

BoundedPlane bp1 = new BoundedPlane(p1, p2, p3);
BoundedPlane bp2 = new BoundedPlane(p2, p3, p1);
BoundedPlane bp3 = new BoundedPlane(p3, p1, p2);

var l1 = new LineSegment3d(p4, p5);
var l2 = new LineSegment3d(p6, p7);

var pts11 = l1.IntersectWith(bp1);
var pts12 = l1.IntersectWith(bp2);
var pts13 = l1.IntersectWith(bp3);

var pts21 = l2.IntersectWith(bp1);
var pts22 = l2.IntersectWith(bp2);
var pts23 = l2.IntersectWith(bp3);

if (pts11 != null)
{
    Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("bp11交点个数为:" + pts11.Length);
}
if (pts12 != null)
{
    Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("bp12交点个数为:" + pts12.Length);
}
if (pts13 != null)
{
    Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("bp13交点个数为:" + pts13.Length);
}
if (pts21 != null)
{
    Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("bp21交点个数为:" + pts21.Length);
}
if (pts22 != null)
{
    Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("bp22交点个数为:" + pts22.Length);
}
if (pts23 != null)
{
    Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("bp23交点个数为:" + pts23.Length);
}
复制代码

 

这几天比较忙,

没有时间进行一步研究,

只能简单记录一下,

有遇到类似问题的朋友可以继续研究一下。

 

posted @   david96007  阅读(101)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2020-09-28 使用RibbonPanelBreak创建Slide-Out Panel遇到的问题
2017-09-28 自动加载简介
点击右上角即可分享
微信分享提示