Fuison 360 API: 判断一个点是否在某曲面上

Curve类的函数(2020文档查看对应) 参数值在曲线上从起点到指定点的位置进行定义,是一个介于 0 和 曲线节点最大索引值 之间的值。在方法中,我们首先获取当前文档的相关对象,然后创建一个起点坐标为 (0, 0, 0)、终点坐标为 (5, 0, 0) 的直线对象。例如,如果曲线在 X 轴正方向上延伸,而投影方向是负的 X 轴方向,则会导致投影无效。需要注意的是,延伸的长度可以是正数、负数或零,具体取决于所使用的单位系统和曲线的几何特性。多段线3点,参数值0~1,不包含1,切线向量结果是【5,5,0】,参数值1~2,切线向量是【5,-5,0】 阅读详情

原文链接: http://modthemachine.typepad.com/my_weblog/2016/05/is-point-on-face.html

没有直接的方法,不过可以借用SurfaceEvaluator.isParameterOnFace。该方法可返回某个曲面参数是否在曲面上。首先需要知道某个点对应的曲面参数。而getParameterAtPoint返回的是曲面上最接近给定点的点的曲面参数。所以拿到最接近点还得验证一下是否是给定点。以下是个代码测试。


def isPointOnFace():
    app = adsk.core.Application.get()
    ui  = app.userInterface
    
    selections = app.userInterface.activeSelections
    sketchPoint = selections.item(0).entity
    face = selections.item(1).entity
    
    evaluator = face.evaluator
    point = sketchPoint.worldGeometry
    ui.messageBox(
        "point, x=" + str(point.x) + 
        "; y=" + str(point.y) + 
        "; z=" + str(point.z))
    (returnValue, parameter) = evaluator.getParameterAtPoint(point)
    ui.messageBox(
        "parameter, u=" + str(parameter.x) + 
        "; v=" + str(parameter.y))
    
    if not returnValue:
        # could not get the parameter for it so
        # it's probably not on the face
        ui.messageBox("Point not on face\n(Could not get parameter)")
        return
        
    (returnValue, projectedPoint) = evaluator.getPointAtParameter(parameter)
    ui.messageBox(
        "projectedPoint, x=" + str(projectedPoint.x) + 
        "; y=" + str(projectedPoint.y) + 
        "; z=" + str(projectedPoint.z))
    if not projectedPoint.isEqualTo(point):
        # the point has been projected in order to get 
        # a parameter so it's not on the face
        ui.messageBox(
            "Point not on face\n(Point was projected in order to get parameter)")
        return
    
    returnValue = evaluator.isParameterOnFace(parameter)
    if not returnValue:
        ui.messageBox("Point not on face\n(isParameterOnFace says so)")
        return
    
    ui.messageBox("Point on face")

PointOnFace



Opencascad 判断点在图形内外 程序摘自OccTry中: 二维情况: 在kcgBRepLib.cpp中 1 BRepTopAdaptor_FClass2d fcls(aNF,Precision::PConfusion()); 2 3 TopExp_Explorer ex; 4 for(ex.Init(aW2,TopAbs_VERTEX);ex.More();ex.Next()) 5 ... 阅读详情

相关推荐

CAD NET二次开发-Curve类函数

1.GetArea 功能:获取曲线面积值; 2.GetClosestPointTo 功能:获得曲线外点到曲线最近距离曲线上的点,或者两条曲线间最近距离的点 3.GetDistAtParam 功能:获得曲线上任一参数到曲线起点参数的距离或者曲线上两参数间的距离 public virtual double GetDistanceAtParameter(double value); 4.EndParam...

yxsf1516的博客 6322

C#CAD二次开发学习: 多段线Polyline中的GetParameterAtPoint的2点总结

1.Parameter在多段线中的含义 2.GetParameterAtPoint抛出错误的解决方法

u012405010的博客 2052

教你如何用VB.NET编写AutoCAD中的变色的温度计

这个例子我们去年在DevDays培训中介绍AutoCAD 2010 API的时候演示过,现在我把关键的代码贴上来。AutoCAD.NET API不支持自定义实体,但是有个叫overrule的技术,对于想用.net来实现自定义实体的用户来说,这个例子是个入门教程。#Region "HelperClass" Global helper class (singleton). Contain

CAD定制乐园 5773

CAD 中Spline(样条曲线)的创建

cad 代码插入SPLINE样条曲线对象

chenjiang0611的博客 1956

Cad.Net 重构折线bo函数

介绍了一种cad.net的几何bo方法。

swx181818的博客 1630

判断点是否在面内

范例使用SuperMap iClient 6R for JavaScript开发模式,演示了利用SuperMap.Geometry.Polygon的intersects方法判断点是否在面内。

CAD返回曲线上一点在曲线上的参数(网页版)

主要用到函数说明: IMxDrawCurve::GetParamAtPoint 返回曲线上一点在曲线上的参数,具体说明如下: 参数 说明 [in] IMxDrawPoint* point 曲线的点 [out] DOUBLE* pParam 返回曲线上的参数 js代码实现如下: ...

u013725001的专栏 393

DESeq2实战:如何用LRT检验分析基因表达随时间变化的模式(附完整代码)

本文详细介绍了如何使用DESeq2中的LRT检验分析基因表达随时间变化的模式,包括实验设计、数据预处理、模型构建、结果提取与可视化等完整流程。通过实战案例和完整代码,帮助生物信息学研究者掌握时间序列RNA-seq分析的核心技术,特别适合需要快速上手的实践者。

weixin_42620255的博客 466

计算机图形学:曲线曲面基本理论

1.几何造型介绍及曲线曲面的参数表示 1.1.几何造型介绍 计算机图形学可以分为三大部分内容,分别是光栅图形显示、几何造型技术和真实感图形显示。 ①光栅图形学就是研究如何通过计算机的光栅显示屏来显示图形的方法,是图形学的基础。 ②几何造型技术是研究在计算机中如何表达物体模型的技术。描述物体的模型可以分为线框模型、曲面模型和实体模型。线框模型通过顶点和棱边来表示物体曲面模型只描述物体的表面之间的连接关系,而不描述物体内部的点的属性。 ③实体模型不但对物体的外观进行描述同时也描述物体的内点。 随着计算机图形学的

hanmo22357的博客 3332

深入解析:如何在Visual Studio中高效编译libredwg与libdxfrw

本文详细介绍了在Visual Studio中高效编译libredwg与libdxfrw的完整流程,包括环境配置、源码获取、CMake技巧及常见错误解决方案。针对CAD开发者,提供了从基础编译到项目集成的实用指南,帮助快速处理DWG/DXF文件,提升开发效率。

weixin_29215391的博客 232

百度飞桨+文心大模型实战:生成式AI工程师认证备考全攻略(含真题解析)

本文详细解析百度飞桨与文心大模型结合的生成式AI工程师认证备考策略,涵盖认证体系、学习路径、核心技能突破及真题分析。帮助开发者掌握大模型原理、飞桨平台操作和文心大模型应用,高效通过工信部与百度联合认证考试。

loss4bartender的博客 682

AutoCAD.NET二次开发注意事项与开发技巧

  1、如果要在Winform中打开DWG图形文件,这个Form必须用Application.ShowModelessDialog方式显示,不然会报错(执行环境无效)。   2、在非模态窗口中修改实体时,需要将图层锁定,否则会报错;模态窗口则无此情况。   3、写块克隆:WblockCloneObjects第二个参数为块表记录模型空间的ObjectID,此方法会将一个对象集(实体集)完全克隆到...

weixin_30387663的博客 1878

基于微博API与Scrapy-Redis的城市情绪地图数据爬取实战

本文详细介绍了如何利用Python爬虫技术从微博平台获取用户发布内容,用于构建城市情绪地图的毕业设计项目。文章涵盖了微博API的调用、Scrapy-Redis分布式爬虫架构、数据清洗与存储、反爬虫策略应对以及情绪分析预处理等关键技术,提供了完整的代码实现和实战经验。python复制下载# items.py"""清洗文本数据"""if text:# 移除HTML标签# 移除多余空白字符"""解析微博日期格式"""

2201_76125261的博客 446

c# 实现求一个点是否在一个面内(分别从矩形、椭圆、多边形以及不规则曲面分析)

c# 实现求一个点是否在一个面内(分别从矩形、椭圆、多边形分析) 1、矩形 已知矩形的坐标A(x0,y0)和B(x1,y1),求P(x,y)是否在矩形内。 这个只需要判定P点的x是否在x0和x1之间,y是否在y0和y1之间即可。 if((x0 <x) && (x1 > x) && (y1 < y) && (y< y0)) { Console.WriteLine("P在点上") }else{ Console.WriteLine("

xiexiangyan的博客 2734

【2025华为OD机考真题】- 简易内存池(B卷-200分)(C版)

🔔本文收录于「最新最全华为OD机试真题(C版)」专栏,手把手带你零基础教学华为OD机试。本题集提供最优题解思路,解题步骤,代码解析,复杂度分析及最优题解源码等,支持多语言题解,助你轻松拿捏OD机考,一举上岸!安利大家关注&&收藏&&订阅!题库正在疯狂收录中,up!up!up!! 🚫提醒:拒绝一切代考/替考,违法必究!专栏所写题库均精心搜集于互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验所撰,欢迎订阅。    💗订阅福利:一次订阅,可永久免费阅读,提供在线答疑解惑,后续题库更新皆可阅

**My Coding Family** 961

Unity零基础到入门 ☀️| 【UI系统学习】轻松学会 Unity 的 UGUI基础控件的使用(包括一个简易血条、蓝条设计)

Unity,UGUI。本篇博客来挑几种Unity中最常用的UI控件如何使用和使用技巧,包括一个简易血条蓝条的小实例

努力前行,总会成为自己心中的那道光 2万+

日积一步2(如何判断点在空间曲线的内部还是外部)

算法原理:假设带有孔的空间曲面,其外轮廓顺时针转动,内轮廓逆时针转动,那么沿着曲线的方向前进,轮廓的内部始终在我们的右手边。那么如何确定点是在我们的左侧还是右侧呢?可按如下步骤进行: 1. 获取该点的法向,由内向外,或由下向上,什么是上呢?就是从人的脚指向头(倒立的除外) 2.将被判断的点投影到与法向垂直的面上,该平面通过曲线上引出法向的那一点,并连接投影点与法向量的原点,作为投影向量。 3...

sa_zzq的博客 3989

YOLOv8-Pose 姿态识别 RK3588 实战:从模型训练到 RKNN 部署,精度与推理速度双提升

本教程从YOLOv8-pose模型的姿态识别训练,到RK3588的边缘量化部署,为你打造了一套“高精度+高实时性+低成本”的人体姿态分析解决方案。无论是健身动作纠正、智能安防行为检测,还是工业人员姿态监控,这套技术都能直接复用——你只需替换数据集与业务逻辑,即可快速落地专属的边缘AI姿态识别系统。如果你在实践中遇到任何卡点,欢迎随时交流。记住,人体姿态识别的价值在于“关键点准、推理快、部署易”,而这三者的平衡,正是你通过本教程能掌握的核心能力。

FJN110的博客 363

CAD得到指定参数在曲线上的点坐标(网页版)

主要用到函数说明: IMxDrawCurve::GetPointAtParam 得到指定参数在曲线上的点坐标,具体说明如下: 参数 说明 [in] DOUBLE dParam 曲线上的参数 [out] IMxDrawPoint** pPoint 返回曲线的点 js代码实现如下: v...

u013725001的专栏 938

YOLOv11模型改进全攻略:利用轻量化模块实现精度与速度双跃升

如果你在实操中遇到模块替换导致的精度骤降或部署报错,不妨尝试调整轻量化模块的替换比例,或针对性地保留关键层的原始结构。记住,轻量化的核心是“在精度损失可接受的范围内最大化提升效率”,只要结合业务场景灵活取舍,你也能让YOLOv11在资源受限的环境中大放异彩。接下来,我们从模块选型到代码集成,一步步带你打造“轻量且能打”的YOLOv11,真正帮你解决工业落地中的效率与精度痛点。训练过程中关注模型的mAP和推理速度,若精度下降过多,可调整模块替换的比例(如仅替换Backbone的部分卷积层)。

m0_64661770的博客 501

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

CAD二次开发LineSegment2d

并使用其各种属性和方法进行操作。我们获取了起点和终点坐标,计算了线段的长度和方向角度,并在线段上获取了参数为0.5的点坐标。然后,我们创建了另一个线段。是AutoCAD的.NET API中的一个类,用于表示二维空间中的线段。它包含了起点和终点的坐标信息,并提供了一些方法用于进行线段之间的计算和判断。类,可以进行线段之间的比较、计算、截取等操作,方便处理CAD二次开发中的几何图形。以下是一个简单的示例,演示如何使用。在上述示例中,我们创建了一个线段。方法判断两个线段是否相等。在C#的CAD二次开发中,

ultramand的博客,重生之我在cad上二次开发猛猛敲C#代码~ 723

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

CAD二次开发 Line类函数解析

CAD二次开发中,Line使用函数的集合

包包熊的博客 1359

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

OpenCasCade中判断三维点在正则三维曲面片的ON_IN_OUT状态

由于拓扑学上正则参数曲面F(u,v)和他的参数平面u-v是同胚的,它可以理解为像CGAL一样u-v参数平面点P,正则参数曲面的边界Loop在u-v参数平面对应的平面多边形Polygon,点集拓扑观点是所有的三维正则曲面上的一个点(x,y,z)和它的参数曲面上的点(u,v)是一一映射的,不仅如此,uv面上和领域内相邻点的关系这种拓扑性质在三维曲面上并没有被改变,所以我们虽然是在求一个三维点和一个三维曲面片的位置关系,其实只将三维轮廓变换为二维polygon,就可以去求该三维问题。

yrcpp的博客 1024

qt qcustomplot绘图隐藏和显示曲线

graph(point)->data()->clear();//移除曲线 graph(point)->setVisible(false);//隐藏曲线 graph(point)->setVisible(true);//显示曲线

weixin_41012767的博客 4193

一个简单的窗口截取程序

‘还在完善中------边上的虽然打断了,但没有删除掉 Public Sub T12() Dim db As Database = HostApplicationServices.WorkingDatabase Dim ed As

single_yu的专栏 977

request.getParameter("XXX")获取URL中传递的参数

request.getParameter("XXX")获取URL中传递的参数,不能错写成request.getAttribute("XXX"),它是获取session里面值的方法。URL写的时候“servlet名/jsp文件名+?+参数名+=+参数值+&amp;+参数名+=+参数值....”(忽略里面的加号),注意?和&amp;符合写的位置。...

最有趣的编程 1万+
上一篇: 【新版】Inventor二次开发学习指南
下一篇: 发两个app,来个iPhone 7 - Forge&Fusion全球程序发布活动
autodeskinventorapi
博客等级 码龄14年 313粉丝 164原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值