找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 620|回复: 6

(完成)[编程申请]:字符串形式为 Ya?b改成Yc?b,其中a、b、c为任意正整数

[复制链接]
发表于 2005-9-3 12:36:38 | 显示全部楼层 |阅读模式

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

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

×
对以字母Y开头的字符串操作,
字符串形式为 Ya?b改成Yc?b,其中a、b、c为任意正整数,
1、当a≥4时,若b<14则将b改为14
2、a与c的关系为a=cx2
有附件可供调试(cad2002 默认全选)谢谢。
*-*c *-*c *-*c *-*c *-*c *-*c *-*c *-*c *-*c *-*c *-*c
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-9-3 15:45:16 | 显示全部楼层
  1. [FONT=courier new](load "xyp_lib")
  2. ;|加载通用函数(可在签名栏直接下载)
  3. 如果已经下载xyp_lib并放到搜索路径下可以不再下载!
  4. 利用以下任何一种方式即可加载和运行通用函数内的所有子程序:
  5. 1.在acad.lsp中增加(load"xyp_lib")
  6. 2.在每个程序内增加(load"xyp_lib")
  7. 3.在command下,输入(load"xyp_lib")
  8. 4.在菜单.mnl中增加(load"xyp_lib")
  9. 5.将xyp_lib.vlx文件直接拽到cad屏幕
  10. [COLOR=red] ★通用函数下载地址:[/COLOR]
  11. [url]http://www.xdcad.net/forum/attachment.php?s=&postid=1606661[/url]
  12. [url]http://www.mjtd.com/bbs/dispbbs.asp?boardID=3&ID=37554&page=1[/url]

  13. 程序功能:
  14. 对以字母Y开头的字符串操作,
  15. 字符串形式为 Ya?b改成Yc?b,其中a、b、c为任意正整数,
  16. 1、当a≥4时,若b<14则将b改为14
  17. 2、a与c的关系为a=cx2
  18. |;
  19. (defun c:test ()
  20.   (CMDLA0)
  21.   (setq        ss (ssget '((0 . "TEXT")))
  22.         i  -1
  23.   )
  24.   (while (setq s1 (ssname ss (setq i (1+ i))))
  25.     (setq tx (dxf 1 (entget s1)))
  26.     (if        (= (substr tx 1 1) "Y")
  27.       (progn
  28.         (setq sln (strlen tx)
  29.               ls (vl-string-position (ascii "?") tx)
  30.               a          (substr tx 2 (- ls 1))
  31.               b          (substr tx (+ ls 3))
  32.         )
  33.         (if (>= (atof a) 4)
  34.           (progn
  35.             (setq a (strcat (rtos (/ (atof a) 2.0) 2 0) "x2")
  36.             )
  37.             (if        (< (atof b) 14)
  38.               (setq b "14")
  39.             )
  40.           )
  41.         )
  42.         (setq tx (strcat "Y" a "?" b))
  43.         (sub_upd s1 1 tx)
  44.       )
  45.     )
  46.   )
  47.   (CMDLA1)
  48. )[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-3 15:56:32 | 显示全部楼层
CAD2002测试有小问题同,如Y2?12变成Y2?2,Y2?14变成Y2?4而我要求不变,只有当?前的数字>2时才改变,一楼的文字没表达清楚,请下载附件测试一下,请改改。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-3 16:24:49 | 显示全部楼层
最初由 lengliqun 发布
[B]CAD2002测试有小问题同,如Y2?12变成Y2?2,Y2?14变成Y2?4而我要求不变,请改改。 [/B]

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

使用道具 举报

发表于 2005-9-3 16:55:59 | 显示全部楼层
  1. [FONT=courier new];;;以]替代?的情况
  2. (defun c:test ()
  3.   (CMDLA0)
  4.   (setq        ss (ssget '((0 . "TEXT")))
  5.         i  -1
  6.   )
  7.   (while (setq s1 (ssname ss (setq i (1+ i))))
  8.     (setq tx (dxf 1 (entget s1)))
  9.     (if        (= (substr tx 1 1) "Y")
  10.       (progn
  11.         (setq sln (strlen tx)
  12.               ls  (vl-string-position (ascii "]") tx) ;以]替代?
  13.               a          (substr tx 2 (- ls 1))
  14.               b          (substr tx (+ ls 2))        ;3改为2,]的字符长为1,?的字符长为2
  15.         )
  16.         (if (>= (atof a) 4)
  17.           (progn
  18.             (setq a (strcat (rtos (/ (atof a) 2.0) 2 0) "x2")
  19.             )
  20.             (if        (< (atof b) 14)
  21.               (setq b "14")
  22.             )
  23.           )
  24.         )
  25.         (setq tx (strcat "Y" a "]" b))
  26.         (sub_upd s1 1 tx)
  27.       )
  28.     )
  29.   )
  30.   (CMDLA1)
  31. )[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-3 17:00:50 | 显示全部楼层
原来如此,谢谢了。cad2002/2004测试,为什么不能用ALL全选,若框选全部图形也不运行或运行后没改变,请下载附件一试,谢谢。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-22 01:02 , Processed in 0.174524 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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