找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1393|回复: 13

[LISP程序]:求一个梁箍筋加密,非加密切换的小程序。

[复制链接]
发表于 2007-8-19 14:29:43 | 显示全部楼层 |阅读模式

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

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

×
其实就是文字修改工具。
一般梁配箍筋的写法是%%1308@100/200
我的思路是,弄3命令
a1,将@100/200改为@200
a2,将@200改为@100/200
a3,将@200或者是@100/200,都改成@100

说起来是很简单的文字修改,但我不会,不会就要问
请高手指导~~~
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2007-8-20 13:42:52 | 显示全部楼层
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2007-8-21 23:37:31 | 显示全部楼层
老大,预览版完全是调胃口的哈,弄个测试版,大家也好帮你测试一下三。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-8-22 09:13:45 | 显示全部楼层

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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

发表于 2007-8-25 21:04:59 | 显示全部楼层
楼主的要求,请使用如下代码。
3个命令:
a1,将@100/200改为@200
a2,将@200改为@100/200
a3,将@200或者是@100/200,都改成@100
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

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

使用道具 举报

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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

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

使用道具 举报

发表于 2007-8-27 10:59:23 | 显示全部楼层
占个位子...
[php]
;;;cjw
(princ "\n |-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|")
(princ "\n| 一般梁配箍筋的写法是%%1308@100/200    |")
(princ "\n| 我的思路是,弄3命令                   |")
(princ "\n| 1,将@100/200改为@200                 |")
(princ "\n| 2,将@200改为@100/200                 |")
(princ "\n| 3,将@200或者是@100/200,都改成@100   |")
(princ "\n |-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|")
;;;---------------------------------------
;;kjjj箍筋间距
(defun c:kjjj (/ KW SS)
  (initget "1 2 3")
  (setq        kw
         (getkword
           "\n>>>改为选项:[@200 (1)/@100/200 (2)/@100(3)/]<1>:"
         )
  )
  (if (null kw)
    (setq kw "1")
  )
  (cond
    ((and (= kw "1")
          (setq ss (ssget '((0 . "TEXT") (1 . "*`@100/200"))))
     )
     (progn
       (replace-v1 ss "@200" "@100/200")
     )
    )
    ((and (= kw "2")
          (setq ss (ssget '((0 . "TEXT") (1 . "*`@200"))))
     )
     (progn
       (replace-v1 ss "@100/200" "@200")
     )
    )
    ((and (= kw "3")
          (setq ss (ssget '((0 . "TEXT") (1 . "*`@200,*`@100/200"))))
     )
     (progn
       (replace-v1 ss "@100" "@200")
       (replace-v1 ss "@100" "@100/200")
     )
    )
  )
  (princ)
)

;;replace-v1替换值
(defun replace-v1 (ss A B / data v1 val)
  (setq elst (ss->elst ss))
  (foreach e elst
    (setq data (entget e))
    (setq v1 (cdr (assoc 1 data)))
    (setq val (vl-string-subst A B v1))
    (setq data (subst (cons 1 val) (assoc 1 data) data))
    (entmod data)
  )
)


;;ss->elst选择集->图元表
(defun ss->elst        (ss / elst)
  (setq i 0)
  (repeat (sslength ss)
    (setq elst (cons (ssname ss i) elst)
          i    (1+ i)
    )
  )
  (reverse elst)
)

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

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2007-8-28 00:14:42 | 显示全部楼层
很久没写了,玩玩!


  1. ;a1 加密,不加密切换
  2. ;a2 减半

  3. (defun dxf(n lst)(cdr(assoc n lst)))  
  4. (defun c:a1( / e n1 n2 newtxt newtxt1 newtxt2 txt)
  5.   (if(and (setq e(car(entsel)))
  6.           (setq e(entget e))
  7.           (= "TEXT"(dxf 0 e))
  8.           (setq txt(dxf 1 e))  
  9.      )
  10.     (cond
  11.        ((wcmatch txt "*`@*/*")
  12.           (setq n1(vl-string-search "@"txt)
  13.              n2(vl-string-search "/"txt)
  14.            )
  15.           (setq newtxt(strcat(substr txt 1 (1+ n1))(substr txt(+ 2 n2))))
  16.           (entmod(subst(cons 1 newtxt)(assoc 1 e)e))
  17.        )
  18.        ((wcmatch txt "*`@*")
  19.          (setq n1(vl-string-search "@"txt)
  20.               newtxt1(substr txt (+ 2 n1))
  21.               newtxt2(itoa(/(atoi newtxt1)2))
  22.           )
  23.          (setq newtxt(strcat(substr txt 1 (1+ n1))newtxt2"/"newtxt1))
  24.          (entmod(subst(cons 1 newtxt)(assoc 1 e)e))
  25.        )
  26.       
  27.   ))(princ)
  28. )

  29. (defun c:a2( / e n1 newtxt newtxt1 txt)
  30.   (if(and (setq e(car(entsel)))
  31.           (setq e(entget e))  
  32.           (= "TEXT"(dxf 0 e))
  33.           (setq txt(dxf 1 e))      
  34.      )
  35.      (progn
  36.        (cond( (wcmatch txt"*#/#*")
  37.               (setq newtxt(substr txt 1 (vl-string-search "/"txt)))
  38.           )
  39.           ((wcmatch txt "*`@*")
  40.              (setq n1(vl-string-search "@"txt)
  41.                    newtxt1(substr txt (+ 2 n1))
  42.                    newtxt1(itoa(/(atoi newtxt1)2))
  43.              )
  44.              (setq newtxt(strcat(substr txt 1 (1+ n1))newtxt1))      
  45.           )
  46.         )
  47.          (entmod(subst(cons 1 newtxt)(assoc 1 e)e))
  48.   ))
  49. (princ)
  50. )


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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 07:27 , Processed in 0.473657 second(s), 58 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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