- UID
- 675574
- 积分
- 450
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2013-5-4
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
功 能:在指定索引位置处增加一个顶点
调用格式:(Ent:Polyline-AddVertexAt <LWPOLYLINE实体名> <index索引值> <点> [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] |
评分
-
查看全部评分
|