找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2289|回复: 20

[求助] [求助]:关于组码的问题

[复制链接]
发表于 2005-11-7 12:34:13 | 显示全部楼层 |阅读模式

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

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

×
本人对组码的理解是: 把事先定义好的组码和某一特定的数值联系起来,当需要此数值时就去先找到与起对应的组码,从而把此数值提取出来. 因而组码表示的意义应该是确定的;但AutoCAD中关于组码列出了一张表,其中有象如下的定义:

40-48  Double precision floating point values (text height, scale factors,   and so on)

请问: 1) 40-48中究竟是40,41,还是42对应text height?
          2)90-99:  32-bit integer values 有如何理解?

见付图.

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

已领礼包: 593个

财富等级: 财运亨通

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

使用道具 举报

发表于 2005-11-7 12:55:16 | 显示全部楼层
40代表文字高度,下面是一个文本的组码列表,可以看到该文字的高度是600
((-1 . <图元名: 7ef8a100>) (0 . TEXT) (330 . <图元名: 7ef76cf8>) (5 .
D3790) (100 . AcDbEntity) (67 . 0) (410 . Model) (8 . 端子箱) (62 . 3) (100 .
AcDbText) (10 -5530.79 302229.0 0.0) (40 . 600.0) (1 . G10) (50 . 0.0) (41 .
0.5) (51 . 0.0) (7 . KT7) (71 . 0) (72 . 1) (11 -5287.16 302229.0 0.0) (210 0.0
0.0 1.0) (100 . AcDbText) (73 . 0))1
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-7 13:41:03 | 显示全部楼层
最初由 adisonmaster 发布
[B]40代表文字高度,下面是一个文本的组码列表,可以看到该文字的高度是600
((-1 . <图元名: 7ef8a100>) (0 . TEXT) (330 . <图元名: 7ef76cf8>) (5 .
D3790) (100 . AcDbEntity) (67 . 0) (410 . Model) (8 . 端子?.. [/B]
  1. [FONT=courier new]
  2. 组码40根据实体类型不同而不同:
  3. TEXT、ATTDEF、ATTRIB:文字高度
  4. CIRCLE、ARC:半径
  5. ELLIPSE:短轴与长轴的比例
  6. 短轴与长轴的比例:起点宽度
  7. MLINE:缩放比例
  8. ……
  9. [/FONT]
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2005-11-7 19:06:49 | 显示全部楼层

我也有類似的困惑

最初由 xyp1964 发布
[B][QUOTE]最初由 adisonmaster 发布
[B]40代表文字高度,下面是一个文本的组码列表,可以看到该文字的高度是600
((-1 . <图元名: 7ef8a100>) (0 . TEXT) (330 . <图元名: 7ef76cf8>) (5 .
D3790) (100 . Ac... [/B]


XYP版主:

我知道可用:(entmod (subst
                (cons 62 256)
                (assoc 62 (setq elist (entget ename)))
                elist
              )
      將實體的顔色改爲BYLAYER
但是,改爲顔色BYLAYER後的實體,用(assoc 62 (setq elist (entget (car(entsel)))))返回NIL. why?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-7 19:28:30 | 显示全部楼层
颜色为BYLAYER的实体没有组码62!
自定义函数xyp-get-Color可以提取任何实体的颜色。
方式:
(xyp-get-Color 实体名)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2005-11-7 19:43:06 | 显示全部楼层
最初由 xyp1964 发布
[B]颜色为BYLAYER的实体没有组码62!
自定义函数xyp-get-Color可以提取任何实体的颜色。
方式:
(xyp-get-Color 实体名) [/B]


用版主的東東可以解決很多問題.但是,對於一個想學LISP的人來說,用多了版主的東東就學不好LISP了.

再問,

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

使用道具 举报

发表于 2005-11-7 19:48:32 | 显示全部楼层
最初由 taner 发布
[B]

用版主的東東可以解決很多問題.但是... [/B]

“能用command就用command,
其次用Auto lsp,再次用Vlisp!”
直接用change命令,如改s1为红色:
(command"change" s1 "" "p" "c" 1)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2005-11-7 20:34:43 | 显示全部楼层
最初由 xyp1964 发布
[B]
“能用command就用command,
其次永Auto lsp,再次用Vlisp!”
直接用change命令,如改s1为红色:
(command"chan... [/B]


謝謝指點!
是這樣的,本想編一個指令,將某實體顔色改變後,視情況再變回來.現用版主的東東搞定.請看看,還有沒有更好的方法.
(defun c:xz (/ ename encolor encolorla str)
  (setq ename (car (entsel "\n點選實體,回車或點無實體區域退出.>")))
  (setq encolor (xyp-get-color ename))
  (setq encolorla (cdr (assoc 62 (entget ename))))
  (command "change" ename "" "p" "c" (1+ encolor) "")
  (setq str (getstring "\n要還原嗎?(回車還原,其它任意鍵保存改變):"))
  (if (= str "")
    (if (= encolor encolorla)
      (command "change" ename "" "p" "c" encolor "")
      (command "change" ename "" "p" "c" "bylayer" "")
    )
  )
  (princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-7 23:15:07 | 显示全部楼层
  1. [FONT=courier new]
  2. (defun c:xz (/ ename encolor encolorla str)
  3.   (if (setq ename (car (entsel "\n选择实体<退出> : ")))
  4.     (progn
  5.       (setq encolor   (xyp-get-color ename)
  6.             encolorla (cdr (assoc 62 (entget ename)))
  7.       )
  8.       (command "change" ename "" "p" "c" (1+ encolor) "")
  9.       (if (null mode)
  10.         (setq mode "Y")
  11.       )
  12.       (setq mode (UKWORD 1 "Y N" "\n是否还原 : Y-是/N-否" mode))
  13.       (if (= mode "Y")
  14.         (if (= encolor encolorla)
  15.           (command "change" ename "" "p" "c" encolor "")
  16.           (command "change" ename "" "p" "c" "bylayer" "")
  17.         )
  18.       )
  19.     )
  20.   )
  21.   (princ)
  22. )[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-7 23:34:39 | 显示全部楼层
我觉得问 “要還原嗎?”是多余的
不如设一个Undo选项,需要还原就输入U,否则继续下一步或结束并退出
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-7 23:40:57 | 显示全部楼层
最初由 taner 发布
[B]

用版主的東東可以解決很多問題.但是... [/B]


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

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2005-11-8 01:13:55 | 显示全部楼层
最初由 cy956 发布
[B]

其实也简单,查实体的dxf62,有-》求色,没有-》求该图层的色。 [/B]

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

使用道具 举报

发表于 2005-11-8 02:03:52 | 显示全部楼层

  1. ;;测试: (ecol (car(entsel)))
  2. (defun ecol (e / ent col)
  3.   (setq ent (entget e))
  4.   (or (setq col (cdr(assoc 62 ent)))
  5.        (setq col (cdr(assoc 62(tblsearch "layer" (cdr(assoc 8 ent))))))
  6.   )
  7.   col
  8. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2005-11-8 06:58:58 | 显示全部楼层
最初由 狂刀 发布
[B][code]
;;测试: (ecol (car(entsel)))
(defun ecol (e / ent col)
  (setq ent (entget e))
  (or (setq col (cdr(assoc 62 ent)))
       (setq col (cdr(assoc 62(tblsearch "layer" (cdr(assoc 8 ent))))))
... [/B]


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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-28 19:08 , Processed in 0.463477 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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