找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 805|回复: 12

[讨论]:有否简便方法构造颜色为某一指定色的实体集?

[复制链接]
发表于 2003-12-4 05:09:07 | 显示全部楼层 |阅读模式

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

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

×
有否简便方法构造颜色为某一指定色的实体集?
(ssget "x" '((62 . 1))) 构造的选择集不完全!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-12-7 13:48:45 | 显示全部楼层
可能有些实体的颜色属性是bylayer or byblock,用62组码选择的是有确定颜色值的实体
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2003-12-7 19:04:32 | 显示全部楼层
既然是层上的问题,就到层上去找.
把dxf62为1的层名列出来 生成:   "层1,层2 .."  -->lay
filter:
(list '(-4 . "《or") '(62 . 1)
  '(-4 . "《and")(cons 8 lay)(cons 62 256)'(-4 . "and》)
  '(-4 . "or》")
)


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

使用道具 举报

 楼主| 发表于 2003-12-8 10:08:38 | 显示全部楼层
aeo, 我是问: "有否简便方法构造颜色为某一指定色的实体集? "
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-8 10:53:45 | 显示全部楼层
把所有物件改為單一顏色的程序寫出來,你就會發現沒有簡單方法 : (
但當你完成了那個程序,保正會更了解AUTOCAD中物件結構!

條件:
1.先設定系統變數
DIMCLRD           4
DIMCLRE           2
DIMCLRT           6
2.晝出AUTOCAD所有物件(再COPY一份做成多層嵌套圖塊---巢狀圖塊)
3.所有巢狀圖塊(所有圖塊炸開後保持單一顏色)

改變顏色通常會在下到物件中出問題
幾何公差 & 引線與箭頭 & 圖塊參考中的屬性
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-12-8 13:30:27 | 显示全部楼层
最初由 LUCAS 发布
[B]把所有物件改為單一顏色的程序寫出來,你就會發現沒有簡單方法... [/B]


一个朋友要我编一个小程序给他: 选择所有红颜色的实体...
程序是编完了, 但是不理想, 自己都看不过去.因此提问...
看来只有等Autodesk在出个什么命令或函数了?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2003-12-8 21:13:50 | 显示全部楼层
我上面的至多再加两行,filter就出来了,不复杂呀.



幾何公差 & 引線與箭頭 & 圖塊參考中的屬性 这些应该自己本身就是个实体,有自己的图层.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-9 01:24:10 | 显示全部楼层
正好今天要用到类似功能,根据aeo的提示,做了一个稍微完整的版本,大家看看能不能用:

请用"<"替换"《",">"替换"》"


  1.   [FONT=courier new]
  2. ;;Select By Color
  3. ;根据颜色选择物体
  4. (defun c:sbc (/ ent1 counter e ss1 fl color_code lst1 lay laynam)
  5.   (while (not ent1)
  6.     (setq ent1 (entsel "\n  Selecte sample entity:"))
  7.   );while
  8.   (if ent1
  9.    (progn
  10.     (setq color_code (cdr (assoc 62 (entget (car ent1)))))
  11.     (if (not color_code);颜色为bylayer的情况,获取层颜色并以之选择
  12.       (progn
  13.         (setq laynam (cdr (assoc 8 (entget (car ent1))))
  14.               color_code (cdr (assoc 62 (tblsearch "layer" laynam))))
  15.         ;(setq color_code 256);直接使用这句可选择所有颜色为bylayer的实体
  16.         (princ "\n  Select from layer <")(princ laynam)(princ ">,")
  17.       )
  18.       (princ "\n  Select by entity,")
  19.     );if
  20.     (princ " color<")(princ color_code)(princ ">, ")
  21.    
  22.     (setq lay (layerstring_bycolor color_code))
  23.     (setq lst1
  24.       (list '(-4 . "《or")
  25.               (cons 62 color_code)
  26.               '(-4 . "《and")
  27.                 (cons 8 lay)
  28.                 (cons 62 256)
  29.               '(-4 . "and》")
  30.             '(-4 . "or》")
  31.       )
  32.     );setq
  33.     (setq ss1 (ssget "X" lst1))
  34.   ))
  35.   (if ss1 (progn
  36.     (princ (sslength ss1))
  37.     (princ " objects selected.")
  38.   ));if
  39.   (sssetfirst nil ss1)
  40.   (princ)
  41. );end

  42. ;返回给定颜色的层名汇总字符串
  43. (defun layerstring_bycolor (col_in / c lst st nam)
  44.   (setq lst (tblnext "LAYER" T)
  45.         st "")
  46.   (while lst
  47.     (setq c (cdr (assoc 62 lst)))
  48.     (if (= c col_in)
  49.       (progn
  50.         (if nam (setq st (strcat st ",")))
  51.         (setq nam (cdr (assoc 2 lst))
  52.               st (strcat st nam))
  53.       );progn
  54.     );if
  55.     (setq lst (tblnext "LAYER"))
  56.   );while
  57.   st
  58. );end

  59. (princ "\n Select Entities by Color, type 'sbc' to start.")

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

使用道具 举报

发表于 2003-12-9 07:58:19 | 显示全部楼层
;;幾何公差會受到許多系統變數影響: DIMCLRD 控制特徵控制框的顏色,DIMCLRT控制公差文字的顏色
;;引線與箭頭的顏色是由 Color 性質或 DIMCLRD 系統變數控制
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-10 02:27:28 | 显示全部楼层
最初由 LUCAS 发布
[B];;幾何公差會受到許多系統變數影響: DIMCLRD 控制特徵控制框的顏色,DIMCLRT控制公差文字的顏色
;;引線與箭頭的顏色是由 Color 性質或 DIMCLRD 系統變數控制 [/B]

在实际的操作中,对于复杂实体而言,能够选择到父实体已经足够了,若对其中的子实体再进行处理,对于本篇的主题来说,好像必要性不大。
当然,如果是要做改色的程序,那要求就不同了,以前曾尝试编过,不过对于嵌套属性块的部分一直也没有时间搞好。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-12-10 12:19:27 | 显示全部楼层
(在公司输入不了中文)
诸位的各种思路和想法, 有的确实不错, 考虑到随层, 随块, 再加上过滤, 自然可以解决. 然而我的初衷是: "有否简便的方法"? 因为在现实中要到达一个目的地, 可能有几种不同的路, 我想谁都愿意走捷径. 选择某一颜色的实体集是否也能象 (ssget "x" '((0 . "LINE"))) ? 看来至少目前不能拉, 不管怎样, 还是说声谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-3-24 23:46:07 | 显示全部楼层
怎么我试了一下,用不了啊!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-28 03:45 , Processed in 0.206474 second(s), 56 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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