lisp把多段线顶点连成表_晓东CAD家园-论坛-LISP/VLISP函数库-多段线增加顶点的函数-功 能:在指定索引位置处增加一个顶点调用格式:(Ent:Polyline-AddVertexA...
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。您需要 登录 才可以下载或查看,没有帐号?立即注册x功能:在指定索引位置处增加一个顶点调用格式:(Ent:Polyline-AddVertexAt[bulge值] [起始宽度][结束宽度])返 回 值:成功T, 否 NIL说明:1、参数 [bulge值] [起始宽度][结束宽度]都为可选项,默认值都为0 ,后面的可选...
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
功 能:在指定索引位置处增加一个顶点
调用格式:(Ent:Polyline-AddVertexAt [bulge值] [起始宽度][结束宽度])
返 回 值:成功T, 否 NIL
说 明:
1、参数 [bulge值] [起始宽度][结束宽度]都为可选项,默认值都为0 ,后面的可选项若要设置必须前面的可选项也设置,但该可选项后面的若要默认值,可以省略。
[bulge值]--实数,若加弧段给BULGE值。0退化为直线
[起始宽度],[结束宽度]--实数值或者整数值。
2、程序要求对参数值判断类型,只对合法的参数类型执行。
[pcode=lisp,true](defun Ent:Polyline-AddVertexAt(LwpolylineObj index point bulge staW endW / i objname)
(vl-load-com)
(if (or(=(type LwpolylineObj)'Ename)(=(type LwpolylineObj)'vla-object))
(progn
(if(=(type LwpolylineObj)'Ename)
(setq LwpolylineObj(vlax-ename->vla-object LwpolylineObj))
)
(setq i(/(length(vlax-get LwpolylineObj 'Coordinates))2))
(setq objname(vla-get-objectname LwpolylineObj))
(if(not bulge)(setq bulge 0.0))
(if(not staW)(setq staW 0.0))
(if(not endW)(setq endW 0.0))
(if(and(= objname "AcDbPolyline")
(= (type index)'INT)
(= (type point)'list)
(=(type(car point))'REAL)
(=(type(cadr point))'REAL)
(or(=(type bulge)'REAL)(=(type bulge)'INT))
(or(=(type staW)'REAL)(=(type staW)'INT))
(or(=(type endW)'REAL)(=(type endW)'INT))
(>= index 0)(<= index i))
(progn
(vla-AddVertex LwpolylineObj index (vlax-safearray-fill (vlax-make-safearray vlax-vbDouble '(0 . 1)) (list (car point)(cadr point))))
(vla-SetBulge LwpolylineObj index bulge)
(vla-SetWidth LwpolylineObj index staW endW)
t
)
)
)
)
)[/pcode]
广告位,后台可以设置,支持js
您好,您暂时不能浏览帖子的全部内容,请 登录
| 没有账号? 请 注册
更多推荐
所有评论(0)