马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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

您好,您暂时不能浏览帖子的全部内容,请 登录

| 没有账号? 请 注册

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐