找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2645|回复: 4

[选择集] (XD::PickSet:L2PL)将选择集内所有分散的LINE,POLYLINE,ARC 连接成POLYLINE(支...

[复制链接]

已领礼包: 51个

财富等级: 招财进宝

发表于 2013-7-23 20:16:04 | 显示全部楼层 |阅读模式
函数发布
函数名称: XD::PickSet:L2PL
调用格式: (XD::PickSet:L2PL ss info)
参数说明: ss ---- 选择集
info ----- 提示串,如果不等于"", 开启进度条,INFO为进度条前面的提示字符串
返回值: 选择集(连接成功的POLYLINE)
函数简介: 将选择集内所有分散的LINE,POLYLINE,ARC 连接成POLYLINE(支持图层,进度条)
函数来源: 原创
函数作者: Lispboy
适用版本: XDRX API 
最后更新时间: 2013-07-23
备注: (XD::PickSet:L2PL ss "已完成:")
演示图片:

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

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

×
  1. ;|
  2. 将选择集内所有分散的LINE,POLYLINE,ARC连接成POLYLINE
  3. 参数:
  4.    ss ----  选择集(函数未做判断,调用保证LINE,POLYLINE,ARC构建的选择集)
  5.    info       -----  提示串,如果不等于"", 开启进度条,INFO为进度条前面的提示字符串

  6. 返回值:
  7.    选择集(连接成功的POLYLINE)
  8. |;
  9. (defun XD::PickSet:L2PL (ss info / e i n s0 ss)
  10.   (xdrx_sysvar_push '("cmdecho" 0))
  11.   (xdrx_setmark)
  12.   (setq n (sslength ss))
  13.   (setq i 0)
  14.   (xdrx_setsstodb ss 0)
  15.   (if (/= info "")
  16.     (xdrx_pbarbegin info n)
  17.   )
  18.   (repeat n
  19.     (if (setq e (xdrx_getentdata 0))
  20.       (progn
  21.         (command ".pedit" e)
  22.         (if (not (wcmatch (xdrx_getentdxf 0) "*POLYLINE"))
  23.           (XD::DOC:dstop2)
  24.         )
  25.         (command "j" ss "" "")
  26.         (xdrx_setenttodb e)
  27.         (if (= (xdrx_getentdxf 70) 1)
  28.           (progn
  29.             (ssdel e s0)
  30.             (ssadd e ss)
  31.             (setq n (1- n))
  32.           )
  33.         )
  34.       )
  35.     )
  36.     (if (/= info "")
  37.       (xdrx_pbarsetpos (setq i (1+ i)))
  38.     )
  39.   )
  40.   (if (/= info "")
  41.     (xdrx_pbarend)
  42.   )
  43.   (setq ss (xdrx_getss))
  44.   (xdrx_sysvar_pop)
  45.   ss
  46. )

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2013-7-23 20:36:48 | 显示全部楼层
(XD::Begin)
(XD::DOC:dstop2)
(XD::End)
这三个函数哪里有

点评

XDcStop2 刚发布,见: http://bbs.xdcad.net/forum.php?mod=viewthread&tid=669549 XD::Begin XD::End 在通用的LISP函数库里面,论坛上应该是ST朋友写的,名字叫 XD:rogram:Begin..... End, 你搜下  详情 回复 发表于 2013-7-23 20:46
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

 楼主| 发表于 2013-7-23 20:46:31 | 显示全部楼层
本帖最后由 Lispboy 于 2013-7-23 20:47 编辑
laibinwu 发表于 2013-7-23 20:36
(XD::Begin)
(XD:OC:dstop2)
(XD::End)

XD::Doc:DStop2 刚发布,见: http://bbs.xdcad.net/forum.php?mod=viewthread&tid=669549

XD::Begin
XD::End

在通用的LISP函数库里面,论坛上应该是ST朋友写的,名字叫 XD::Program:Begin..... End, 你搜下函数发布。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-7-23 23:08:32 | 显示全部楼层
Pedit J 有间隙控制,这个在低版本下Ok,高版本下反而失去了Pedit特点

点评

可以考虑下用高版本的PEDIT重写下函数。  详情 回复 发表于 2013-7-23 23:10
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

 楼主| 发表于 2013-7-23 23:10:09 | 显示全部楼层
Free-Lancer 发表于 2013-7-23 23:08
Pedit J 有间隙控制,这个在低版本下Ok,高版本下反而失去了Pedit特点

可以考虑下用高版本的PEDIT重写下函数。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-23 00:37 , Processed in 0.412975 second(s), 49 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表