找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: xbx7920

[求助]:怎样一次性选择汉字?

[复制链接]
发表于 2004-9-23 10:12:09 | 显示全部楼层
  梦斑主用于1楼所说的只有汉字的时候是可以的。但如果有全角字符就不行了。还是柔柔长老的办法对。判断ASCII码大于127的字符。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-23 19:43:46 | 显示全部楼层
判断是否汉字我是用>=160来判断的,因为有些自定义字型会将一些符号定义到ascii 码127~160之间.
[php]
(defun isallhz (txt)
  (apply 'and (mapcar '(lambda(x)(>= x 160))(vl-string->list txt)))
)
;;
(defun hashz (txt)
  (apply 'OR (mapcar '(lambda(x)(>= x 160))(vl-string->list txt)))
)
;;选取全汉字组成的text.(包含汉字的text)
(defun c:ss-allhz (/ ss i ssn e)  ;;ss-hashz
  (setq ss (ssget '((0 . "TEXT")))
        i -1
        ssn (ssadd))
  (while (setq e (ssname ss (setq i (1+ i))))
    (if (isallhz (cdr(assoc 1 (entget e)))) (ssadd e ssn)) ;;改用 hashz 函数=>选取含有汉字的text.
  )
  (sssetfirst ssn ssn)
)[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-23 21:32:42 | 显示全部楼层
^_^,我一直想解释一下127问题,但觉得没多大必要,你既然提到,我就来灌灌水:)
我认定127,因为我一惯反对用户自定义,在那个删除汉字的程序中,很明确表示,凡大于127统统删除。

前几天那个190个字体下载的帖子,我为了收集反对的证据,真下载了。我敢说,凡说好的,除了挣币外,根本就没有仔细看过。那玩意儿有190个吗?明明是hztxt.shx字体,文件名有好几个,就是改个名字而已嘛,这样做,1900个有什么困难?190000000又有什么困难??还有,最可恨的是这个字体%%xxx是这个符号,那个字体的%%xxx却是另一个符号。这不是乱搞是什么?

从某些字体文件名可以看出,是xxxx二次开发软件自带的字体文件,一看字体,特别是“洁”三点水缺一点都没改,不就是把hztxt.shx改成xxxxtxt.shx吗?这些二次开发软件真TMD不要脸!!!

所以,127~160,我才不认呢!!

在我公司,修改字体文件、编制形文件、制作匿名图块、使用gbcbig.shx和hztxt.shx之外的中文矢量字体、图形文件加密统统视为非法 --显然,这就是我制定的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-23 23:30:00 | 显示全部楼层
最初由 柔柔 发布
[B]
....在我公司,修改字体文件、编制形文件、制作匿名图块、使用gbcbig.shx和hztxt.shx之外的中文矢量字体、图形文件加密统统视为非法 --显然,这就是我制定的。[/B]


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

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2004-9-24 08:44:45 | 显示全部楼层
最初由 柔柔 发布
[B]^_^,我一直想解释一下127问题,但觉得没多大必要,你既然提到,我就来灌灌水:)
我认定127,因为我一惯反对用户自定义,在那个删除汉字的程序中,很明确表示,凡大于127统统删除。

前几天那个190个字体下载的?.. [/B]


 “英雄”所见略不同,凡事不可一概而论。
 Acad及Windows给了大家“自定义”的空间,“自定义”就不能称作“非法”,只是大家都在“摸索”,还没有达到“一统”,但不能“因噎废食”,就此摒弃“自定义”。
 这里在说说我对汉字字符的理解,我们通常所说的汉字,是指常用的汉字及符号,也就是GB2312字符集,起始位置在A1区,终止位置在F7区,就是asciii的161~247,其中AA~AF区域为预留“自定义”区域(Windows造字程序使用范围),在A1~F7范围内总共包括七千多个汉字及字符,不能包括全部的汉字字符,所以在扩展的GBK字符集(如“宋体”)中将汉字的“区”范围扩大到80~FE,“位”的范围扩大到40~FE,所能包含的汉字字符数大大增加,即使这样,仍不能满足需要,所以在GB18030字符集中,将汉字扩大为四字节,在这些字符集中,AA~AF区仍然保留为“自定义”区,这就说明“自定义”是“合法”的。
 按前面所说,几乎所有位置字符都被使用,是不是在使用时会有冲突呢,可以说,如果“规范”的话,是不会冲突的,Windows系统有自己的识别手段,Acad也有自己的识别方法,如“%%176%%161”是不会被识别为“啊”的,甚至被认为不包括ascii大于127的字符。
 那么,是不是就可以任意“自定义”呢?当然不是。前面说来汉字字符的自定义区域,显然,我们定义的“%%nnn”不在其间,这些字符是定义在哪里呢?答案是00区,这是最基本区域,是所有字体标准共同承认的,也就是ascii的0~127(00~FF),其中前面的32个字符为控制码,然后的96个字符为正常西文符号,其后的128个字符为扩展字符,一般定义就在这128个字符,正常使用是不会有冲突的。
 再说说Unicode,我们使用的国标汉字与台湾使用的Big5汉字大多数字符是相同的,但字符的代码却不同,Unicode将这些字符同一使用一个代码,就是“\U+xxxx”的形式,这是通用平台代码,在任何支持Unicode的系统下都可以显示任何代码页的字符(这就是“统一”,“宋体”就是Unicode字符集)。
 使用“宋体”显示ascii在128~255的字符(使用“\U+0080”~“\U+00FF”),可以看出,ascii在128~160范围内为空,这是Unicode留给我们的“自定义”范围,在此范围内“自定义”也是“合法”的,其他么,仁者见仁吧。
 说了那么多,还是一个“规范”问题,在中文简体中没有人再会将“B0A1”(“啊”)“自定义”为其他字符,但“AAA1”却可能被定义为任一字符,“%%65”(“A”)不会被定义为其他字符,而“%%132”却可能被“自定义”为任意字符,大家都在“磨合”,也许有一天会有“统一”的如“建筑字符集”、“钢结构字符集”等诞生,但如果没有人做,就永远不可能实现。
 个人意见,随便说说。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-24 13:29:59 | 显示全部楼层
以前也只是写程序用到 ,来龙去脉还真的很迷糊....
谢谢ll_j给我们上了一课
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-24 23:49:13 | 显示全部楼层
呵呵,ll_j长老,我可没 就此摒弃“自定义”。“自定义”范围很广,我就喜欢自定义线型文件,总觉得acad.lin和acadiso.lin的线型不漂亮。

自定义字体就不好说了,张三自定义%%xxx是一级钢,李四自定义%%xxx是二级钢,这结果就出乱子了。就好比张三的%%c是直径,李四的%%c是半径,那样就有得玩了。

问题的严重性其实不难理解,困难的恐怕是观念。字体、形文件自定义是个非常简单的事,没有多少技术含量,难的是统一问题。

过去,板厚用δ,后来改用t,这几级钢难道就不能改用键盘上有的字母?行业的上层有问题也。

过去受前苏联技术影响,一度采用很多怪符号,后来逐渐改过来。国人用CAD画图的初期,主要目的乃图面漂亮,没有电子文件传递,用户用什么字体文件都无所谓,一切按打印的图纸为准,现在,直接mail发图越来越多,统一变成了大问题。

还有,我很看不惯的是某些人会点形文件编辑似乎就是高手了,呵呵,这玩意儿学半天就能编。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2004-9-25 10:15:15 | 显示全部楼层
最初由 柔柔 发布
[B]呵呵,ll_j长老,我可没 就此摒弃“自定义”。“自定义”范围很广,我就喜欢自定义线型文件,总觉得acad.lin和acadiso.lin的线型不漂亮。

自定义字体就不好说了,张三自定义%%xxx是一级钢,李四自定义%%xx... [/B]

 该说的我都说了,就像“自定义”字体文件一样,自定义线型文件也不是好习惯,如果复杂、“漂亮”的线形同样需要“形”的支持,至于简单线形,大可不必那么复杂,直接entmake就可以了,下面代码就是entmake一个叫做“hid”的线形,线段与间隔是相等的。
  1. (entmake
  2.   '((0 . "LTYPE")
  3.     (5 . "9D")
  4.     (100 . "AcDbSymbolTableRecord")
  5.     (100 . "AcDbLinetypeTableRecord")
  6.     (2 . "HID")
  7.     (70 . 0)
  8.     (3 . "Hid _ _ _ _ _ _ _")
  9.     (72 . 65)
  10.     (73 . 2)
  11.     (40 . 5)
  12.     (49 . 2.5)
  13.     (74 . 0)
  14.     (49 . -2.5)
  15.     (74 . 0)
  16.    )
  17. )
复制代码

 如果是复杂线形,使用了自定义的“形”,在没有这些“形”的时候,麻烦就更大了,图纸会变慢,捕捉变得“艰苦”,打开文件时会出现找不到“形”文件提示,还可能会出现“形 xx 未发现...”等一系列问题。
 大概在93年,当时地形图是用数字化仪录入的,我定制过一个“形”(现在早不用了),后来我修改过一下字体文件,虽然也有遗憾,但总体是遵照“规范”的。

 一说就说开去了,打住,就本“主题”的汉字选择问题再说一下,本帖我认为应该发在编程板块的,但既然在这里,我认为还是应该以“应用”为重,就本主题的问题说一下“选择过滤器”的解决办法。
 我们知道,Acad是直接支持Lisp的,有许多扩展命令也是Lisp编的,那么“选择过滤器”是否支持Lisp支持的“通配符”呢,值得一试,答案也是令人满意的。
 在“选择过滤器”中使用“文字值”过滤:
 纯汉字:文字值=~*[!-~]*
 包括汉字:文字值=*[~!-~]*
 不包括汉字:~*[~!-~]*

 其他选择都可以试试,还可以通过逻辑运算进行更复杂的选择。“快速选择”也可以进行类似选择。
 当然,在Lisp程序中也可以利用这些关系进行文字值的判别。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-25 12:35:16 | 显示全部楼层
我试试了一下 包括汉字:文字值=*[~!-~]*
3 48.750 (3,4之间含有空格)  ,也被认为是包括汉字,但是 ~!-~是排除空格的啊,为什么?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-25 15:57:22 | 显示全部楼层
各位高手,除了编程一次选择多个文字就没有别的方法了吗
总要一个一个改,好烦的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2004-9-25 16:27:18 | 显示全部楼层
最初由 梦断江南 发布
[B]我试试了一下 包括汉字:文字值=*[~!-~]*
3 48.750 (3,4之间含有空格)  ,也被认为是包括汉字,但是 ~!-~是排除空格的啊,为什么? [/B]


对不起,我忽略了空格,包括空格时可以将方括号中的“!”改为“ ”(空格字符),就像这样:*[~ -~]*。
简单解释一下:
~*[ -~]*   字符串中不包括“ ”(空格字符,ascii=32)到“~”(波浪线字符,ascii=126,ascii=127的字符不常用,正常不能显示,可以忽略)之间的字符,这里将汉字解析为两个半角字符。这个式子无法选定包含如“丏”(8144H)这类“位”码小于127的汉字串。
*[~ -~]*   字符串中包括不在“ ”到“~”之间的字符。这个式子可以选定任何包含GB汉字的字符串,因为GB汉字“区”码总是大于127的。
~*[~ -~]*   字符串中不包括不在“ ”到“~”之间的字符。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-25 16:33:55 | 显示全部楼层
你在23楼的代码不错,以后不用加载,只要鼠标按一下,线型都有了,不错!不错!,不愧是ll_j(翻译成高手):)

程序最后来个 (alert " 用ll_j的程序加载了地球上最漂亮的线型 ")

还是要指出点毛病(否则不甘心。。。), (5 . "9D") 句柄就免了吧。

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

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2004-9-25 17:05:43 | 显示全部楼层
最初由 柔柔 发布
[B]你在23楼的代码不错,以后不用加载,只要鼠标按一下,线型都有了,不错!不错!,不愧是ll_j(翻译成高手):)

程序最后来个 (alert " 用ll_j的程序加载了地球上最漂亮的线型 ")

还是要指出点毛病(否则不甘?.. [/B]


说笑了。
其实这也是在以前讨论铁路线型时偶然想到的,既然铁路线形需要等距离黑白相间,这种线形在Acad自带的线型中又没有,难道只有使用.lin加载么,通过分析看出,线型定义是随图保存的,简单线型完全可以脱离.lin文件,这样,在程序中就可以自己“制作”想要的线型了。后来有事打杈,就没有深入研究,说出来,也许以后大家能用到。
前面的代码只是我用hidden线型的DXF修改一下,句柄组码的确不需要,只是随手罢了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-9-26 11:48:01 | 显示全部楼层
最好在画图时就有准备--将所有单行文本设置成同一种颜色(区别其它颜色)或者将文本绘制在一个独立的图层--用快速选择(图层、颜色为条件):工具--快速选择。


这是思路:画图之前要确立一个良好的思路,养成良好的工作习惯(就像我们回家先考虑好走那条路一个道理)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-14 09:10:38 | 显示全部楼层
你们说的太高深了,我这个菜鸟根本看不懂啊。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-20 12:09 , Processed in 0.561092 second(s), 54 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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