找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 538|回复: 5

[编程申请]:(有点难度)判断斜杠/左右两边数字乘积的大小决定加前缀Z、D或F

[复制链接]
发表于 2005-3-10 13:02:37 | 显示全部楼层 |阅读模式

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

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

×
判断斜杠/左右两边数字乘积的大小决定加前缀Z、D或F    字符串格式为 *]*/*]*  如 a]c/b]d  其中a、c、b、b为数字。
条件:
如果 axc > bxd ,则加前缀Z
如果 axc < bxd ,则加前缀D
如果 axc = bxd ,则加前缀F
可以框选多个字符串,谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 11288个

财富等级: 富甲天下

发表于 2005-3-12 11:32:45 | 显示全部楼层
程序未经调试
[php]
(DEFUN C:ADD-ASC ()
(PRINC "\nPlease Select Text(s) 请选择文字 :")
(SETQ SS (SSGET '((0 . "TEXT"))))
(SETQ I 0)
(REPEAT (SSLENGTH SS)
  (SETQ ENT (ENTGET (SSNAME SS I)) I (1+ I)
        STR (CDR (ASSOC 1 ENT)))
  (IF (WCMATCH STR "*]*/*]*") (PROGN
   (SETQ A (ATOI STR) J 1 SL (STRLEN STR))
   (WHILE (<= J SL)
    (IF (= (SUBSTR J 1) "]")
     (SETQ STR1 (SUBSTR STR (1+ J)) J SL)
     (SETQ J (1+ J))
    )
   )
   (SETQ C (ATOI STR1) J 1 SL (STRLEN STR1))
   (WHILE (<= J SL)
    (IF (= (SUBSTR J 1) "/")
     (SETQ STR1 (SUBSTR STR1 (1+ J)) J SL)
     (SETQ J (1+ J))
    )
   )
   (SETQ B (ATOI STR1) J 1 SL (STRLEN STR1))
   (WHILE (<= J SL)
    (IF (= (SUBSTR J 1) "/")
     (SETQ STR1 (SUBSTR STR1 (1+ J)) J SL)
     (SETQ J (1+ J))
    )
   )
   (SETQ D (ATOI STR1))
   (COND
    ((> (* A C) (* B D)) (SETQ STR1 (STRCAT "Z" STR)))
    ((< (* A C) (* B D)) (SETQ STR1 (STRCAT "D" STR)))
    ((= (* A C) (* B D)) (SETQ STR1 (STRCAT "F" STR)))
   )
   (SETQ ENT (SUBST (CONS 1 STR1) (CONS 1 STR) ENT))
   (ENTMOD ENT)
  ))
)
(PRINC)
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-12 13:40:58 | 显示全部楼层
报告,不能运行,提示有误如下,请参考附件调试,谢谢。

命令:
ADD-ASC
Please Select Text(s) 请选择文字 :
选择对象: 指定对角点: 找到 5 个

选择对象:

错误: 参数类型错误: stringp 1

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

使用道具 举报

已领礼包: 11288个

财富等级: 富甲天下

发表于 2005-3-12 16:36:01 | 显示全部楼层
更改后:
[php](DEFUN C:ADD-ASC ()
(PRINC "\nPlease Select Text(s) 请选择文字 :")
(SETQ SS (SSGET '((0 . "TEXT"))))
(SETQ I 0)
(REPEAT (SSLENGTH SS)
  (SETQ ENT (ENTGET (SSNAME SS I)) I (1+ I)
        STR (CDR (ASSOC 1 ENT)))
  (IF (WCMATCH STR "*]*/*]*") (PROGN
   (SETQ A (ATOI STR) J 1 SL (STRLEN STR))
   (WHILE (<= J SL)
    (IF (= (SUBSTR STR J 1) "]")
     (SETQ STR1 (SUBSTR STR (1+ J)) J SL)
     (SETQ J (1+ J))
    )
   )
   (SETQ C (ATOI STR1) J 1 SL (STRLEN STR1))
   (WHILE (<= J SL)
    (IF (= (SUBSTR STR1 J 1) "/")
     (SETQ STR1 (SUBSTR STR1 (1+ J)) J SL)
     (SETQ J (1+ J))
    )
   )
   (SETQ B (ATOI STR1) J 1 SL (STRLEN STR1))
   (WHILE (<= J SL)
    (IF (= (SUBSTR STR1 J 1) "]")
     (SETQ STR1 (SUBSTR STR1 (1+ J)) J SL)
     (SETQ J (1+ J))
    )
   )
   (SETQ D (ATOI STR1))
   (COND
    ((> (* A C) (* B D)) (SETQ STR1 (STRCAT "Z" STR)))
    ((< (* A C) (* B D)) (SETQ STR1 (STRCAT "D" STR)))
    ((= (* A C) (* B D)) (SETQ STR1 (STRCAT "F" STR)))
   )
   (SETQ ENT (SUBST (CONS 1 STR1) (CONS 1 STR) ENT))
   (ENTMOD ENT)
  ))
)
(PRINC)
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-3-13 22:14:31 | 显示全部楼层
[php]
;;(addpre "1]2/3]4") -> "D1]2/3]4"
(defun addpre (str / lst ab cd)
  (setq lst (mapcar 'eval (read(strcat "(" (vl-string-translate "]/]"  "   " str)")")))
        ab  (*(car lst)(cadr lst))
        cd  (*(caddr lst)(last lst)))
  (strcat (cond((> ab cd) "Z")((< ab cd) "D")((= ab cd) "F"))str)
)
;; 主程序:
(defun c:tt ( / *doc ss i e ent str)
  (setq *doc (vla-get-activedocument(vlax-get-acad-object)))
  (vla-startundomark *doc)
  (setq ss (ssget '((0 . "TEXT")(1 . "*]*/*]*")))
        i  -1)
  (while (setq e (ssname ss (setq i (1+ i))))
    (setq ent (entget e)
          str (cdr(assoc 1 ent)))
    (entmod (subst (cons 1 (addpre str))(assoc 1 ent)ent))
  )(vla-endundomark *doc)(princ)
)[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-22 17:51 , Processed in 0.177824 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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