找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2171|回复: 4

[研讨] 动态块刷子

[复制链接]

已领礼包: 593个

财富等级: 财运亨通

发表于 2013-9-28 10:21:29 | 显示全部楼层 |阅读模式

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

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

×
一个尝试,没有测试更多属性
  1. (defun c:tt (/ e e1 properties)
  2.   (if (and (setq
  3.          e (car (xdrx_entsel "\n拾取源动态块: " '((0 . "INSERT"))))
  4.        )
  5.        (if (xdrx_dynblock_isdyn e)
  6.          t
  7.          (progn
  8.            (princ "\nNot DynamicBlock!")
  9.            nil
  10.          )
  11.        )
  12.       )
  13.     (while
  14.       (and (setq e1
  15.           (car (xdrx_entsel "\n选择匹配动态块: " '((0 . "INsert"))))
  16.        )
  17.        (if (equal (xdrx_dynblock_dynblockid e1)
  18.               (xdrx_dynblock_dynblockid e)
  19.            )
  20.          t
  21.          (progn
  22.            (princ "\nNot Same DynamicBlock!")
  23.            nil
  24.          )
  25.        )
  26.       )
  27.        (setq properties
  28.           (mapcar '(lambda (a / l)
  29.              (setq l (vl-remove-if-not
  30.                    '(lambda (b)
  31.                       (member
  32.                     (car b)
  33.                     '("PropertyName" "Value")
  34.                       )
  35.                     )
  36.                    a
  37.                  )
  38.              )
  39.              (list "PropertyName" (cadar l) (cadadr l))
  40.                )
  41.               (vl-remove-if
  42.             '(lambda (x)
  43.                (cadr (assoc "ReadOnly" x))
  44.              )
  45.             (xdrx_dynblock_getproperty e)
  46.               )
  47.           )
  48.        )
  49.        (apply 'xdrx_dynblock_setvalue
  50.           (cons e1
  51.             (apply 'append
  52.                (mapcar 'cdr
  53.                    (vl-remove-if
  54.                      '(lambda (x) (= (cadr x) "Origin"))
  55.                      properties
  56.                    )
  57.                )
  58.             )
  59.           )
  60.        )
  61.     )
  62.   )
  63.   (princ)
  64. )


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

已领礼包: 2476个

财富等级: 金玉满堂

发表于 2013-9-28 13:29:38 | 显示全部楼层
大大最好说明一下适用范围,动态变数太多,那些特性可以刷,块和块的区别大了。无法想象怎么个刷法!

点评

自己没有试验过所有的参数,仅是基于对函数理解写的,ReadOnly 为 T 的属性包括 Origin 属性都过滤掉了  详情 回复 发表于 2013-9-28 13:37
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

 楼主| 发表于 2013-9-28 13:37:03 | 显示全部楼层
q3_2006 发表于 2013-9-28 13:29
大大最好说明一下适用范围,动态变数太多,那些特性可以刷,块和块的区别大了。无法想象怎么个刷法!

自己没有试验过所有的参数,仅是基于对函数理解写的,ReadOnly 为 T 的属性包括 Origin 属性都过滤掉了

点评

估计没法达到目的,参数太多,随便找两个动态块刷了一下,Not Same DynamicBlock!  详情 回复 发表于 2013-9-28 13:55
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

发表于 2013-9-28 13:55:05 | 显示全部楼层
eachy 发表于 2013-9-28 13:37
自己没有试验过所有的参数,仅是基于对函数理解写的,ReadOnly 为 T 的属性包括 Origin 属性都过滤掉了

估计没法达到目的,参数太多,随便找两个动态块刷了一下,Not Same DynamicBlock!

点评

大致看了看,所谓“刷子”两个动态块是基于同一个源块定义,如果是不同的源,直接删除-〉复制过去即可  详情 回复 发表于 2013-9-28 14:14
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-9-28 14:14:46 | 显示全部楼层
q3_2006 发表于 2013-9-28 13:55
估计没法达到目的,参数太多,随便找两个动态块刷了一下,Not Same DynamicBlock!

大致看了看,所谓“刷子”两个动态块是基于同一个源块定义,如果是不同的源,直接删除-〉复制过去即可
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 18:12 , Processed in 0.439545 second(s), 46 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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