明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 23433|回复: 117

[函数] 选取属性完全一样图元问题。。。。。

  [复制链接]
发表于 2011-7-6 23:09:40 | 显示全部楼层 |阅读模式
如何选取与某一图元属性完全一样的图元,长度,方向,颜色,类型;
这就是所谓的Copy图元,全部选取到ss选择集中。。。…
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2011-7-7 21:01:29 | 显示全部楼层
回复 Gu_xl 的帖子

十分感谢,问题解决啦,开心。。。。
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2011-7-7 08:55:26 | 显示全部楼层
就是选中一批copy图元………
发表于 2011-7-7 09:23:11 | 显示全部楼层
回复 tm20038175 的帖子

用 小菜123大师的选择易就可以啦。
 楼主| 发表于 2011-7-7 09:28:05 | 显示全部楼层
这个只能通过工具吗?
发表于 2011-7-7 20:43:02 | 显示全部楼层
本帖最后由 Gu_xl 于 2012-4-19 15:12 编辑

回复 tm20038175 的帖子
  1. ;;;明经通道 编制 By Gu_xl 2011年7月7日
  2. (defun c:tt (/ en  enl filter ss )
  3.     (setq en (car (entsel "\n 选择图元: ")))
  4.   (if en
  5.     (progn
  6.       (setq enl (entget en))
  7.       (setq filter
  8.       (vl-remove-if-not
  9.         '(lambda (X)
  10.     (or
  11.       (= 0 (car x))
  12.       (= 8 (car x))
  13.       (= 62 (car x))
  14.       (= 6 (car x))
  15.       (= 370 (car x))
  16.       (= 48 (car x))
  17.       (= 100 (car x))
  18.       (= 67 (car x))
  19.       (= 60 (car x))
  20.       )
  21.     )
  22.         enl
  23.         )
  24.      )
  25. (setq ss (ssget "x" filter))
  26.       (setq ss (GXL-SEL-SS->LIST ss)
  27.      ss (mapcar '(lambda (X) (list x (gxl-dxf x 10))) ss)
  28.      )
  29.       (mapcar '(lambda (x) (vla-move (vlax-ename->vla-object (car x)) (vlax-3d-point (cadr x)) (vlax-3d-point '(0 0 0)))) ss)
  30.       (setq filter
  31.       (vl-remove-if
  32.         '(lambda (X)
  33.     (or
  34.       (= -1 (car x))
  35.       (= 5 (car x))
  36.       (= 330 (car x))
  37.       (= 360 (car x))
  38.       (= 370 (car x))
  39.       (= 347 (car x))
  40.       (= 390 (car x))
  41.       )
  42.     )
  43.         (entget en)
  44.         )
  45.      )
  46.       (setq el (entget (caar ss)))
  47.       (setq ss1 (ssget "x" filter))
  48.       (mapcar '(lambda (x) (vla-move (vlax-ename->vla-object (car x)) (vlax-3d-point '(0 0 0)) (vlax-3d-point (cadr x)) )) ss)
  49.       (princ)
  50.      (SSSETFIRST nil ss1)
  51.       )
  52.     )
  53.   (princ)
  54.   )
  55. (defun gxl-Sel-SS->List (ss / i s )
  56. (if ss
  57. (repeat (setq i (sslength ss))
  58. (setq s (cons (ssname ss (setq i (1- i))) s))
  59. )
  60. )
  61. )
  62. (defun gxl-dxf (ent i)
  63. (cond ((= (type ent) 'ename)
  64. (cdr (assoc i (entget ent)))
  65. )
  66. ((= (type ent) 'list)
  67. (cdr (assoc i ent))
  68. )
  69. ) ;_ if
  70. )

评分

参与人数 1金钱 +50 收起 理由
xiaxiang + 50 这个大有用处

查看全部评分

 楼主| 发表于 2011-7-7 21:02:40 | 显示全部楼层
好心人真多~~~~~~
发表于 2011-7-7 21:56:52 | 显示全部楼层
回复 Gu_xl 的帖子

版主真是要什么来什么,实在是佩服!!
发表于 2011-7-7 22:25:46 | 显示全部楼层
回复 Gu_xl 的帖子

改entsel为ssget。。。
如果能够批量选择,加个循环处理,就太棒了
 楼主| 发表于 2011-7-7 22:30:12 | 显示全部楼层
回复 xiaxiang 的帖子

这样会产生很多个ss,个人感觉不妥,还是entsel好。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-20 08:03 , Processed in 0.159106 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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