明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: lisone

我的词库

  [复制链接]
 楼主| 发表于 2012-5-18 21:16:42 | 显示全部楼层
;第一次运行请根据自己需要修改以下内容:
(setq ckml "E:/lisan/词库/" ) ;引号内为词库目录 注意路径为反斜杠“/”
;以下不用修改
(setq suoyin "0")
(setq suoyin2 "0")
(defun c:t6 ()
(setvar "cmdecho" 0)
(defun xsckdhk();显示词库对话框
       ;(setq tzbl (getvar "HPSCALE" ));天正比例
       (setq en nill)
       (setq mulu (list "" ))
       (setq mulu (vl-directory-files ckml "*.txt" ))
       (setq ml mulu)
       (setq mulu (list mulu))

;;;------------------------------------------------+++
(setq DLG_ID (load_dialog "t6.dcl"))
(if (< DLG_ID 0) (exit))

     (while (and (/= result 1) (/= result 0))                  
            (if (= do_what 3) (tolib))
(if (not (new_dialog "teclib" DLG_ID))(exit))
;;;------------------------------------------------+++
               (start_list "itemlist" )
               (if (= lst nil);第一次读取 第一个txt文件内容
                                       (progn
                     (setq text_2 (nth 0 ml))
                     (setq file (open (strcat ckml text_2) "r" ))
                     (setq txt_t (read-line file) lst (list "" ))
                     (while (/= txt_t nil)
                            (setq lst (append lst (list txt_t)))
                            (setq txt_t (read-line file))
                     );end while
                     (close file)
                     (setq lsti lst)
                     (setq lst (list (cdr lst)))
               ));end if
       (mapcar 'add_list (car lst))
       (end_list)
                        (load_text suoyin 1)
       (start_list "li" )
       (mapcar 'add_list (car mulu))
       (end_list)

       (action_tile "li" "(load_text $value $reason)        (setq suoyin2 (itoa 0))")
       (set_tile "li" suoyin);获取焦点
       (set_tile "itemlist" suoyin2)
       (action_tile "cancel" "(done_dialog 0)" )
                  (setq re (start_dialog))

       (start_dialog)
(unload_dialog DLG_ID);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++
)

       (if (/= en nill) ;动态文字
          (progn
                                        (princ "\n点取位置或[转90度(A)/右键退出]")
                                        (setq boolean t)
                                        (setq text-jiaodu 0)
                                        (while boolean
                                         (setq motion (grread T 8));grread 函数返回一个表,其中第一个元素说明输入类型的代码,第二个元素既可能是整数,又可能是点
                                         (setq code (car motion)) ;grread表第一个元素输入类型的代码
                                         (setq pt2 (cadr motion)) ;grread表第二个元素 拖动模式坐标
                                         (cond
                                          ((= code 5)   ;鼠标拖动模式
                                                 (entmod (setq endate (subst (cons 10 pt2) (assoc 10 endate) endate)));动态改文字坐标
                                          )
                                          ((= code 3)   ;鼠标左鍵按下
                                          (setq boolean nil)
                                          )
                                          ((= code 11)
                                           (setq boolean nil)
                                           (entdel en)
                                          )
                                          ((= code 25)
                                           (setq boolean nil)
                                           (entdel en)
                                          )
                                          ((equal motion '(2 32))
                                           (setq boolean nil)
                                          )
                                          ((equal motion '(2 13))
                                           (setq boolean nil)
                                          )
                                          ((equal motion '(2 27))
                                           (setq boolean nil)
                                           (entdel en)
                                          )
                                          ((equal motion '(2 65))
                                                 (setq text-jiaodu (+ text-jiaodu (/ pi 2)))
                                                 (entmod (setq endate (subst (cons 50 text-jiaodu) (assoc 50 endate) endate)));动态改文字角度
                                          )
                                          ((equal motion '(2 97))
                                                 (setq text-jiaodu (+ text-jiaodu (/ pi 2)))
                                                 (entmod (setq endate (subst (cons 50 text-jiaodu) (assoc 50 endate) endate)));动态改文字角度
                                          )
                                         )
          );end while
      ));end if
(princ)
) ;end xsckdhk

(defun load_text (value reason);子函数 提取txt内容
       (if (= reason 1)
              (progn
                     (setq suoyin value)
                     (setq text_2 (nth (atoi value) ml))
                     (setq file (open (strcat ckml text_2) "r" ))
                     (setq txt_t (read-line file) lst (list "" ))
                     (while (/= txt_t nil)
                            (setq lst (append lst (list txt_t)))
                            (setq txt_t (read-line file))
                     );end while
                     (close file)
                     (setq lsti lst)
                     (setq lst (list (cdr lst)))
       ));end if
       (start_list "itemlist" )
       (mapcar 'add_list (car lst))
       (end_list)
                        (setq wjm (nth (atoi value) ml))
       (setq filename (strcat ckml wjm))
);end load_text


(xsckdhk)
(setvar "cmdecho" 1)
(princ)
);end defun
 楼主| 发表于 2012-5-18 21:18:25 | 显示全部楼层
大家一起整合一下这两段程序呀~~~

本帖子中包含更多资源

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

x

点评

你自己整合一下发上来吧  发表于 2012-9-15 11:19
 楼主| 发表于 2012-5-18 21:25:12 | 显示全部楼层
整合好了发俺一份哟!!我折了一天了~~有好东西要大家分享~~~
发表于 2012-8-22 15:59:59 | 显示全部楼层
经测试
这个由版主改来的
问题不断出现
难以实用啊
其实原版主的程序本身也是有点问题的
发表于 2012-9-15 11:15:58 | 显示全部楼层
print1985 发表于 2012-5-12 02:10
我是新手 参考论坛各位达人做的自用词库 代码很多是拼凑的看起来很垃圾 但是基本能用
使用前需要按说明设置 ...

ACAD2012 x64 启动后界面一闪而过
发表于 2012-10-20 21:07:50 | 显示全部楼层
ACAD2010 x32 启动后界面一闪而过
发表于 2012-10-21 09:12:27 来自手机 | 显示全部楼层
向各位达人学习。
发表于 2012-11-21 19:46:16 | 显示全部楼层
不是LSP闪过
发表于 2014-4-15 03:21:51 | 显示全部楼层
楼主。参数类型错误: consp nil 2008版的,怎么解决
 楼主| 发表于 2014-4-23 18:29:37 | 显示全部楼层
好东西不要错过

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2025-5-19 14:50 , Processed in 0.607712 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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