找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1814|回复: 4

[研讨] 按组码对表修该实体颜色与图层不成功

[复制链接]

已领礼包: 3199个

财富等级: 富可敌国

发表于 2015-4-29 14:28:43 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 lucas3 于 2015-4-29 17:07 编辑

lispboy的按组码对表修该实体为什么不成功?显示:; error: bad DXF group: ((62 . 1) 8 . "2")


  1. ; http://bbs.xdcad.org/forum.php?m ... 3&page=1#pid3555017
  2. ;|
  3. 按组码对表修改实体
  4. Input: 表  (实体名或实体entget数据 '(组码 值 ... 组码 值))
  5. OutPut: 数据合法 T   失败NIL   

  6. 说明:本函数不判断参数合法性
  7. |;
  8. (defun XD::OBJ:EntMod (e gcl / old x)
  9.   (if (or
  10.         (and
  11.           (eq (type e) 'ENAME)
  12.           (setq e (entget e))
  13.         )
  14.         (eq (type e) 'LIST)
  15.       )
  16.     (progn
  17.       (mapcar
  18.         '(lambda (x)
  19.            (if (setq old (assoc (car x) e))
  20.              (setq e (subst
  21.                        x
  22.                        old
  23.                        e
  24.                      )
  25.              )
  26.              (setq e (cons x  e))
  27.            )
  28.            (entmod e)
  29.          )
  30.         (XD::List:DotPair gcl)
  31.       )
  32.       t
  33.     )
  34.   )
  35. )


  36. ; 测试
  37. (defun c:tt()
  38.    (if (and (setq e (car (entsel "\n选取实体<退出>:")))
  39.             (setq clr (getint "\n颜色号<退出>:"))
  40.             (/= "" (setq lyr (getstring "\n图层<退出>:")))
  41.        )
  42.      (progn
  43.        (XD::OBJ:EntMod e (list (cons 62 clr)(cons 8 lyr)))
  44.      )
  45.    )
  46.    (princ)
  47. )


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

已领礼包: 859个

财富等级: 财运亨通

发表于 2015-4-29 15:03:35 | 显示全部楼层
那个帖子下面还有一个简单的 , gcl 格式不是Lisp擅长的形式,下面这个方式更符合 Lisp 习惯
  1. ;;e    ---- ename or elst
  2. ;;list ---- dotpair
  3. (defun modent (e lst / l)
  4.   (and (= (type e) 'ENAME) (setq e (entget e '("*"))))
  5.   (foreach x lst
  6.     (if        (setq l (assoc (car x) e))
  7.       (setq e (subst l x e))
  8.       (setq e (append e (list x)))
  9.     )
  10.   )
  11.   (entmod e)
  12. )

点评

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

使用道具 举报

已领礼包: 3199个

财富等级: 富可敌国

 楼主| 发表于 2015-4-29 15:22:05 | 显示全部楼层
csharp 发表于 2015-4-29 15:03
那个帖子下面还有一个简单的 , gcl 格式不是Lisp擅长的形式,下面这个方式更符合 Lisp 习惯

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

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

发表于 2015-4-29 15:26:39 | 显示全部楼层
你没有领会用法
(list 62 clr 8 lyr)

点评

感谢大师指教,大师是LISP C# C++都精通啊,还让不让我们活  详情 回复 发表于 2015-4-29 15:36
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3199个

财富等级: 富可敌国

 楼主| 发表于 2015-4-29 15:36:42 | 显示全部楼层
csharp 发表于 2015-4-29 15:26
你没有领会用法
(list 62 clr 8 lyr)

感谢大师指教,大师是LISP C# C++都精通啊,{:soso_e179:}还让不让我们活{:soso_e109:}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 09:13 , Processed in 0.284882 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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