找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 553|回复: 9

[编程申请]:字符处理:加圆形外框

[复制链接]
发表于 2005-6-8 17:38:11 | 显示全部楼层 |阅读模式

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

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

×
1、选定字符,将字符旋转角度设置为0度,
2、如果选定的字符串由一个字符组成,修改其宽度因数为0.75,高度为250,给其加一个直径为300的圆形外框将其框住(圆心在字符串的middle center)
3、如果选定的字符串由二个字符组成,修改其宽度因数为0.75,高度为250,给其加一个直径为400的圆形外框将其框住(圆心在字符串的middle center)
4、如果选定的字符串由三个字符组成,修改其宽度因数为0.65,高度为250,给其加一个直径为400的圆形外框将其框住(圆心在字符串的middle center)
5、如果选定的字符串由四个字符组成,修改其宽度因数为0.50,高度为250,给其加一个直径为400的圆形外框将其框住(圆心在字符串的middle center)
6、如果选定的字符串由五个字符组成,修改其宽度因数为0.45,高度为250,给其加一个直径为400的圆形外框将其框住(圆心在字符串的middle center)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-6-8 18:36:56 | 显示全部楼层
六个字符……
七个字符……
……
n个字符……??

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

使用道具 举报

 楼主| 发表于 2005-6-8 19:02:46 | 显示全部楼层
报告斑竹,最多有6个字符,分别为G、K8、K10、K10/8、K12/10,CAD图中有许多这样的字符,都要给它们加个圈圈,
我以前用属性块,又删又改的忙得不行。若有个小程序,点一下就可以了,方便了许多。大侠出手啦,拜托了。*-*5
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-6-8 19:08:17 | 显示全部楼层
“字符处理如果0≤x≤2.80,则将x变为K”
……

六个字符,?
为什么不把要求提全?
建议外圆直径均为500。
[php](load "xyp_lib");加载通用函数
;|
如果已经下载xyp_lib并放到搜索路径下可以不再下载!
利用以下任何一种方式即可加载和运行通用函数内的所有子程序:
1.在acad.lsp中增加(load"xyp_lib")
2.在每个程序内增加(load"xyp_lib")
3.在command下,输入(load"xyp_lib")
4.在菜单.mnl中增加(load"xyp_lib")
通用函数下载地址:http://www.xdcad.net/forum/showthread.php?s=&threadid=325268
|;

;|
1、选定字符,将字符旋转角度设置为0度,高度为250,给其加一个直径为500的圆形外框将其框住
2、如果选定的字符串由一个字符组成,修改其宽度因数为0.75
3、如果选定的字符串由二个字符组成,修改其宽度因数为0.70
4、如果选定的字符串由三个字符组成,修改其宽度因数为0.65
5、如果选定的字符串由四个字符组成,修改其宽度因数为0.50
6、如果选定的字符串由五个字符组成,修改其宽度因数为0.40
7、如果选定的字符串由六个字符组成,修改其宽度因数为0.35
|;
(defun c:test ()
  (cmdla0)
  (setq        ss (ssget '((0 . "TEXT")))
        i  -1
  )
  (mkla "外圆" 1)
  (while (setq s1 (ssname ss (setq i (1+ i))))
    (setq x  (strlen (dxf 1 (entget s1)))
          pt (dxf 11 (entget s1))
    )
    (cond
      ((= x 1) (sub_upd s1 41 0.75) (changtext))
      ((= x 2) (sub_upd s1 41 0.70) (changtext))
      ((= x 3) (sub_upd s1 41 0.65) (changtext))
      ((= x 4) (sub_upd s1 41 0.50) (changtext))
      ((= x 5) (sub_upd s1 41 0.40) (changtext))
      ((= x 6) (sub_upd s1 41 0.35) (changtext))
      (t (princ))
    )
  )
  (cmdla1)
)
(defun changtext ()
  (text-dqfs s1 1 2)
  (sub_upd s1 40 250)
  (sub_upd s1 50 0)
  (command "CIRCLE" pt 250)
  (princ ".")
)[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-8 22:39:40 | 显示全部楼层
CAD2002中运行后字符宽度因数倒是变了,可是圆的圆心全在原点(0,0),怎回事呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-6-8 23:31:35 | 显示全部楼层
依你所述“圆心在字符串的middle center”,文本首先要有middle center(dxf 11),否则会移动。

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

使用道具 举报

 楼主| 发表于 2005-6-9 12:04:28 | 显示全部楼层
大侠,还没完呢。

1、字符串没转成0度   
2、没有加上外圆
3、CAD2002运行后提示:
选择对象: 找到 1 个
选择对象:
错误 : no function definition: TEXT-DQFS

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

使用道具 举报

发表于 2005-6-9 12:10:53 | 显示全部楼层
遇到类似“错误 : no function definition: TEXT-DQFS”的问题,就要重新下载xyp_lib函数!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-22 14:52 , Processed in 0.424189 second(s), 51 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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