Lee Mac 发表于 2022-7-6 15:17:41

vlax曲线getStartParam。。。。

大家好,
 
希望大家都过得愉快。
 
我只是想学习一些VL,遇到了“起点”和“启动参数”功能。
 
我只是想知道,起始点和起始参数之间有什么区别?
 
我问的原因是:
 
我试图获得曲线的长度,但不知道是否要这样做:
 

(setq ent (car (entsel))
   dis (vlax-curve-getDistAtParam ent (vlax-curve-getEndParam ent)))

或:
 
此外,实体(ename)是否需要转换为VLA对象?
可能是这样?
 

(setq vlent (vlax-ename->vla-object ent))

非常感谢你的帮助!

lpseifert 发表于 2022-7-6 15:24:41

我希望我没有弄错,我从未见过任何文档;如果我错了,有人纠正我
 
vlax曲线的参数是顶点数(kinda)。第一个顶点(曲线起点)的开始参数为0。下一个顶点的参数点为1(类似地,顶点3=参数2…)。顶点1(参数0)和顶点2(参数1)之间的点中点(曲线上)的参数点为0.5;顶点2和3之间的三分之四的路径为1.75。
 
getStartPoint返回曲线起点的坐标。
 
AFAIK在使用vlax曲线函数之前,需要将实体转换为vla对象。
 
我可能会使用类似的方法来返回vlax曲线的总长度
3

Lee Mac 发表于 2022-7-6 15:32:04

杰出的感谢您的帮助和解释。
 
我现在更了解参数函数了-它使用顶点将曲线分割为段。美好的
 
谢谢你给我提供代码。
 
干杯
 

Lee Mac 发表于 2022-7-6 15:32:45

 
对不起,这是什么意思?

lpseifert 发表于 2022-7-6 15:41:07

据我所知

Lee Mac 发表于 2022-7-6 15:45:22

 
 
哈哈,当然。

lpseifert 发表于 2022-7-6 15:50:35

这里有一个线程,让我对参数的使用有了一些见解。
http://www.theswamp.org/index.php?topic=23951.0

Lee Mac 发表于 2022-7-6 15:56:26

谢谢lpseifert,看来CAB比我想象的更出名:wink:

SEANT 发表于 2022-7-6 16:02:00

在“参数”上展开一点;直线和多段线似乎具有相同的特征,即起始点位于参数=0处。圆、圆弧和椭圆等实体的参数范围在2Pi范围内。例如,以0,0为中心,起点为0,10,终点为-10,0的圆弧的参数范围为1.5708到3.1416。
 
在大多数情况下,使用AutoCAD创建的样条曲线在创建时会定义一个参数范围,等于其所有“拟合点”之间的距离。我之所以说在创建时定义,是因为如果随后缩放样条曲线,参数范围将保持不变。
 
但是,与圆弧和椭圆一样,样条曲线的范围在修剪时会被截断。因此,样条曲线的起点可能位于非0的起始参数处。
 
我没有任何vlax曲线函数的直接经验,但相信它们是从ARX AcGeCurve类方法派生的。如果这确实是真的,那么它们可能具有与托管类(.NET)中相同的特征。

Lee Mac 发表于 2022-7-6 16:03:02

非常感谢肖特对这一问题的澄清——圆、圆弧和椭圆的参数范围为0-2pi是有意义的。
 
我必须说,你确实是一个知识渊博的人-你精通LISP,VBA和。网络?
页: [1] 2
查看完整版本: vlax曲线getStartParam。。。。