明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1994|回复: 2

[LISP]编了两个小程序,但不现想,有需要的来下,请各位指教一下!

[复制链接]
发表于 2005-1-13 11:07:00 | 显示全部楼层 |阅读模式
这两天糊乱编了两个小程序,文本内加特殊符号的程序对于MTEXT不起作用,小弟我经验有限,请各位前辈帮忙看一下,另一个,读入文本的程序,因在字符串连接时出错,所以运行不了,有心的朋友帮忙修改一下,谢谢! (源程序代码无限制共享) 程序1 ;;;数字前加特殊符号程序
;;;程序清单如下
(defun c:tsfh( / p p1 p2 k k1 k2 ss1 index num name ent oldlist newlist
gs strs str1 str2 str3 conlist cmd)
(setvar "cmdecho" 0)
(setq p 1)
(setq p1 3)
(setq p2 4)

(princ "\n选择要编辑的数字:")
(setq ss1 (ssget (list (cons 0 "text"))))
(setq index 0)
(setq num (sslength ss1))

(repeat num
(setq name(ssname ss1 index))
(setq ent(entget name))
(setq oldlist(assoc 1 ent))
(setq str (cdr oldlist))
(setq gs (strlen str)) ;;;求出字符串长度
(setq k(- gs p2))
(setq k1(- gs p1))
(setq k2(- gs p))

(setq str1(substr str 1 k));;;划分出度的位数及字符串
(setq str2(substr str k1 2));;;划分出分的位数及字符串
(setq str3(substr str k2 2)) ;;;划分出秒的位数及字符串 (setq strs (strcat "α=" str1 "°" str2 "′" str3 "″"))
;;;连接字符串
(setq conlist (cons (car oldlist) strs)) ;;;新建元素表
(setq newlist (subst conlist oldlist ent));;;替换文本内容
(entmod newlist);;;刷新
(setq index(1+ index))
)
(setvar "cmdecho" 1)
(princ)
)
程序2 ;;;请入文本内容程序
(defun c:readtxt (/ oldcmd oldblip oldsnap fle f str strs)
(setq oldcmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq oldblip (getvar "blipmode"))
(setvar "blipmode" 0)
(setq oldsnap (getvar "osmode"))
(setvar "osmode" 0)

(setq fle (findfile "txt1.txt"))
(if (not fle)
(setq fle (getfiled "请选择要读入的文件" "txt1" "txt;dat;*" 0))
)
(if fle
(progn
(setq f (open fle "r"))
(setq strs "")
(while (setq str(read-line f))
(setq str(read str))
(setq strs (strcat strs str))
);;;while
);;;progn
(princ "\n未选择数据文件,退出")
);;;end if
(command "Mtext" pause pause 0 strs)
(setvar "cmdecho" oldcmd)
(setvar "blipmode" oldblip)
(setvar "osmode" oldsnap)
(princ)
)
发表于 2005-1-13 11:40:00 | 显示全部楼层
1.(setq ss1 (ssget (list (cons 0 "text"))))-->(setq ss1 (ssget '((0 . "*TEXT")))) 2. (while (setq str(read-line f))
; (setq str(read str)) 去掉
(setq strs (strcat strs str)) (close fle);有open->有close
 楼主| 发表于 2005-1-17 11:05:00 | 显示全部楼层
谢谢了!明白!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-29 20:29 , Processed in 0.153781 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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