找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2518|回复: 15

[每日一码] Vlisp方法选择集交点

[复制链接]

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-12-18 07:52:36 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 st788796 于 2013-12-18 08:46 编辑

  1. (defun ss->objs        (ss / i el)
  2.   (setq i -1)
  3.   (while (setq e (ssname ss (setq i (1+ i))))
  4.     (setq el (cons e el))
  5.   )
  6.   (mapcar 'vlax-ename->vla-object el)
  7. )
  8. (defun ss-inters (ss mod / lst e1 lst1 pts ptl)
  9.   (setq lst (ss->objs ss))
  10.   (while lst
  11.     (setq e1   (car lst)
  12.           lst1 (cdr lst)
  13.     )
  14.     (while lst1
  15.       (if (setq pts (vlax-invoke e1 'Intersectwith (car lst1) mod))
  16.         (while pts
  17.           (setq        ptl (cons (list (car pts) (cadr pts) (caddr pts)) ptl)
  18.                 pts (cdddr pts)
  19.           )
  20.         )
  21.       )
  22.       (setq lst1 (cdr lst1))
  23.     )
  24.     (setq lst (cdr lst))
  25.   )
  26.   ptl
  27. )

没有消除重点,对曲线类和 xdrx_curve_getinters比要慢几十倍
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1742个

财富等级: 堆金积玉

发表于 2013-12-18 08:02:20 | 显示全部楼层
ss->objs 应该是转为VLA图元表吧?

点评

谢谢指正,已修改  详情 回复 发表于 2013-12-18 08:46
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2013-12-18 08:46:50 来自手机 | 显示全部楼层
炫翔 发表于 2013-12-18 08:02
ss->objs 应该是转为VLA图元表吧?

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

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

发表于 2013-12-18 10:10:15 | 显示全部楼层
虽然慢点,一般情况下够用。加载Api很麻烦,不同cad版本又要加载不同的东西.如果api只有一个文件,那就好多了{:soso_e112:}

点评

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2013-12-18 10:34:27 来自手机 | 显示全部楼层
/db_自贡黄明儒_ 发表于 2013-12-18 10:10
虽然慢点,一般情况下够用。加载Api很麻烦,不同cad版本又要加载不同的东西.如果api只有一个文件,那就好多 ...

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

使用道具 举报

已领礼包: 1742个

财富等级: 堆金积玉

发表于 2013-12-20 18:06:08 | 显示全部楼层
不用转换,也许快些呢?
试试函数:vla-get-activeselectionset
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-12-27 12:49:22 | 显示全部楼层
批量打断的第一步啊,值得参考
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

发表于 2014-1-20 08:14:37 | 显示全部楼层
你是不是假设了这些对象都在一个平面上,假如不同同一平面上,Elevation不同又如何?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2014-1-20 10:31:18 | 显示全部楼层
/db_自贡黄明儒_ 发表于 2014-1-20 08:14
你是不是假设了这些对象都在一个平面上,假如不同同一平面上,Elevation不同又如何?

自然是在同一 Plan 内的,Elevtion 不同有可能"虚交",要用另外方法了

点评

我就是想知道你用的什么方法  详情 回复 发表于 2014-1-20 10:47
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

发表于 2014-1-20 10:47:26 | 显示全部楼层
st788796 发表于 2014-1-20 10:31
自然是在同一 Plan 内的,Elevtion 不同有可能"虚交",要用另外方法了

我就是想知道你用的什么方法{:soso_e112:}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 685个

财富等级: 财运亨通

发表于 2014-3-22 22:58:10 | 显示全部楼层
你的函数中的参数mod 是什么意思??怎么用法??

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2014-3-22 23:31:17 | 显示全部楼层
ysq101 发表于 2014-3-22 22:58
你的函数中的参数mod 是什么意思??怎么用法??

acExtendNone                0
Does not extend either object.
acExtendThisEntity       1
Extends the base object.
acExtendOtherEntity     2
Extends the object passed as an argument.
acExtendBoth                3
Extends both objects.

点评

汗..........文化不高.......英文真心看不懂啊 (我这算是爱国吗?) 能不能解释一下???  详情 回复 发表于 2014-3-23 12:07
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 685个

财富等级: 财运亨通

发表于 2014-3-23 12:07:04 | 显示全部楼层

汗..........文化不高.......英文真心看不懂啊 (我这算是爱国吗?{:soso_e100:})
能不能解释一下???
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2014-3-23 15:41:55 来自手机 | 显示全部楼层
ysq101 发表于 2014-3-23 12:07
汗..........文化不高.......英文真心看不懂啊 (我这算是爱国吗?)
能不能解释一下???

都不延伸
我延伸
你延伸
俩都延伸

点评

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

使用道具 举报

已领礼包: 685个

财富等级: 财运亨通

发表于 2014-3-23 22:06:20 | 显示全部楼层
st788796 发表于 2014-3-23 15:41
都不延伸
我延伸
你延伸

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 12:03 , Processed in 0.441313 second(s), 64 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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