autocad lisp中,什么函数可以获取曲线的起始点和中点?
展开全部
如果是曲线,可以用VLISP 提供的 AutoLISP 扩展函数求取,具体如下:
1、用(setq ep (vlax-curve-getEndPoint curve-obj))取得终点坐标;
2、用(setq len (/ (vlax-curve-getDistAtPoint curve-obj ep) 2))获得线段起至中点的长度;
3、用(setq mp (vlax-curve-getPointA2tDist curve-obj len))求出mp即为中点坐标;
4、用(setq sp (vlax-curve-getStartPoint curve-obj))可直接求出起点坐标。
注:1、curve-obj为曲线,需要用(vlax-ename->vla-object entname)函数将其转换为vla类型;
2、调用这些函数前,需要添加一行代码:(vl-load-com),否则上述函数无法使用。
1、用(setq ep (vlax-curve-getEndPoint curve-obj))取得终点坐标;
2、用(setq len (/ (vlax-curve-getDistAtPoint curve-obj ep) 2))获得线段起至中点的长度;
3、用(setq mp (vlax-curve-getPointA2tDist curve-obj len))求出mp即为中点坐标;
4、用(setq sp (vlax-curve-getStartPoint curve-obj))可直接求出起点坐标。
注:1、curve-obj为曲线,需要用(vlax-ename->vla-object entname)函数将其转换为vla类型;
2、调用这些函数前,需要添加一行代码:(vl-load-com),否则上述函数无法使用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询