永发信息网

输入文字的lsp

答案:1  悬赏:10  手机版
解决时间 2021-03-12 17:38
大侠您好,我想请教一个问题,我想输入一个起始数字,一个增值,一个个数值,就能在屏幕上以文字的形式显示出递增的一列数字来,是对自动编号的特别版,但是发现总是有点出入,不得已求教大侠的了。用的是Mtext让其在屏幕显示的,但似乎基点不太好设置,用空格可以隔开的吗??例子如下,
(defun c:1()
(if(not (setq n1 (getint "\n输入起始值<1>:")))
(setq n1 1)
)
(if(not (setq zn (getint "\n输入增加值<1>:")))
(setq zn 1)
)
(setq m 0)
(setq n (getint "\n输入个数:"))
(setq p1 (getpoint "\n输入文字的第一角点:"))
(setq p2 (getpoint "\n输入文字的第二角点:"))
(setq mtext_list (list n1))
(repeat n
(setq n1 (+ n1 zn))
(setq mtext_list (cons n1 mtext_list))
(setq mtext_list (reverse mtext_list)) ;;想用列表将一系列数字列出
)
(command "mtext")
(repeat n
(setq mm (nth m mtext_list))
(command p1 p2 mm) ;;p1 ,p2为多行文字的第一角点和第二角点
(setq m (+ 1 m))
)
(command "")
(prin1)
)
最佳答案
第一点:
建议用text命令。
第二点:
不要把一个command命令打断,中间掺和很多其他的语句。
一个例子请参考:
(defun c:sign ( / nstart I1 hight pt prestr)
(setvar "cmdecho" 0) (setvar "highlight" 0)
(setq nstart (getint "\n起始序号<1>: "))
(if (null nstart) (setq nstart 1))
(setq step (getint "\n步长<1>: "))
(if (null step) (setq step 1))
(setq prestr (getstring "\n后缀字符串(回车表示没有): "))
(princ "\n几号字<") (princ (/ (getvar "textsize") 1))
(princ ">: ")
(setq hight (getreal))
(if (null hight) (setq hight (getvar "textsize"))
(setq hight (*I1 hight))
);if
(while (setq pt (getpoint "\n写字点: "))
(command "text" "m" pt hight "" (strcat (itoa nstart) prestr))
(setq nstart (+ nstart step))
);while
(setvar "cmdecho" 1) (setvar "highlight" 1)
(princ)
);*c:sign
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
求20首人气最高的英文歌
今天47周岁生日求祝福来年生日能心中愿望能实
剑灵副本隐藏是什么意思
桃李缘宾馆地址有知道的么?有点事想过去
求我的青春恋爱物语果然有问题小说各章主要内
只有坚持人民民主专政,巩固人民的政权,我们
贵重货物有哪些类别
王魏庄村地址在什么地方,想过去办事
龙珠激斗怎么发龟派气功
lpl5和世界总决赛的区别
水井沟村地址在什么地方,想过去办事
hold住爱中刘恺威和杨幂被绑架刘恺威嘴里的是
人字是不是轴对称图形
0.208x375怎么计算?
把14个棒棒糖平均分给4个小朋友
推荐资讯
试问一张收据有经手人与签章,那么追究责任起
法人才变更两天,公司宣告破产,对新法人有何
丁塘河湿地公园东门地址在什么地方,想过去办
东昌区通化以纯中东新天地旗舰店我想知道这个
上海到福州坐飞机要多长时间
新天地通讯在哪里啊,我有事要去这个地方
手机百度横屏设置
<Everlasting Yea>麻烦翻译下哦
荷王是什么意思
豆瓣小站怎么给喜欢该小站的人自动群发活动邀
顺达商行在哪里啊,我有事要去这个地方
判刑六个月缓刑六个月
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?