明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1117|回复: 2

[源码] 关于CAD中统计中文字个数的代码

[复制链接]
发表于 2015-1-28 08:38:03 | 显示全部楼层 |阅读模式
本帖最后由 行空雕 于 2015-1-28 08:50 编辑

好友翻译CAD图纸,按字数收费,想统计中文字个数,故写了这些代码,分享给大家~

01 LISP统计函数
  1. <div class="blockcode"><blockquote>(defun c:tt()
  2.   (setvar "cmdecho" 0)
  3.   (setq ss (ssget "X" (list (cons 0 "text"))))  ;选择图面所有文字
  4.   (setq n (sslength ss))
  5.   (setq i 0 zf 0)
  6.   (repeat n
  7.     (setq txt (entget (ssname ss i)))
  8.     (setq i (+ i 1))
  9.     (setq sr1 (cdr (assoc 1 txt)))
  10.     (setq m 0)
  11.     (repeat (strlen sr1)
  12.       (setq asc (vl-string-elt sr1 m))
  13.       (if (> asc 129 )
  14.   (if (/= asc 161)  ;以下是为了屏蔽 ,。”“
  15.     (if (/= asc 163)
  16.       (if (/= asc 172)
  17.         (if (/= asc 177)
  18.     (if (/= asc 187)
  19.       (setq zf (+ zf 1))
  20.       )
  21.     )
  22.         )
  23.     )  
  24.    )
  25.       )
  26.       (setq m(+ m 1))
  27.       )
  28.     )
  29.   (setq zf (/ zf 2))
  30.   ;(setq zf (- zf 1))
  31.   (dcl_01) ;调用显示对话框
  32.   (print)
  33.   )

  34. (defun dcl_01()     ;调用显示对话框函数
  35.   (setq dcl_id (load_dialog "dcl_tj"))
  36.   (new_dialog "dcl_tj" dcl_id)
  37.   (set_tile "ZW_SL" (itoa zf))
  38.   (start_dialog)
  39.   )
02 对话框函数
  1. dcl_tj:dialog{
  2.   label="Blue_EP的对话框";
  3.   :concatenation{
  4.     :text_part {label="共有中文: 【";}
  5.     :text {width=6;key="ZW_SL";}
  6.                 :text_part{label="】";}
  7.     }
  8.     ok_cancel;
  9.   }

本帖子中包含更多资源

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

x
 楼主| 发表于 2015-1-28 08:40:20 | 显示全部楼层
上述代码不能统计块中的固定中文字和属性块的中文字
发表于 2015-1-28 15:59:29 | 显示全部楼层
不错,某些特定的用途会用得着。收下了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 12:58 , Processed in 0.145194 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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