gogozb 发表于 2022-11-10 16:36:55

求助,写几行中间对齐的平行文本

本帖最后由 gogozb 于 2022-11-10 16:38 编辑

(defun c:wz (/ int1 y0)
(setq int1 (getint "\n输入指定文本数目:"))
(if (= int1 nil)
    (setq int1 1)
)
(setq wb (getpoint "\n 要写入文本的位置:"))
(repeat int1
    (setq y0 (cadr wb))
    (setq pw (list (car wb)y0))
    (command "text" "m"pw2.50int1 )
    (princ "\nOK")
    (print y0)
    (setq y0 (+ y0 10))
    (print y0)
)          ;end repeat int1
(princ)
)
以上代做得不到想要的结果,请问是哪里出错了。

自贡黄明儒 发表于 2022-11-10 16:56:57

(setq y0 (+ y0 10))这句不行,因为y0是一个点

萧●﹏●明 发表于 2022-11-11 22:57:40

给你加了一点判断与控制文本的变量

[*]你还可以改改
[*](defun c:wz (/ int1 jj wb int2 y0 n)
[*](setq int1 (getint "\n输入指定文本数目:"))
[*](if (= int1 nil)
[*]    (setq int1 1)
[*])
[*](setq jj (getreal "\n 指定文本行间距:"));指定文本行间距
[*](setq wb (getpoint "\n 要写入文本的位置:"))
[*](setq int2 (getstring "\n输入第一行文本:"))
[*](setq y0 (cadr wb))
[*](setq n 1);控制文字输入次数
[*](repeat int1
[*]    (setq pw (list (car wb)y0))
[*]    (command "text" "m"pw2.50int2 )
[*]    (if (and (/= int1 1) (<n int1)) ;判断文本数目是否大于1与输入文本次数是否小于指定的文本数目,大于1与小于指定文本数目则执行if里面代码
[*]      (setq int2 (getstring "\n输入文本:"))
[*]    )
[*]    (setq n (1+ n))
[*]    (print y0)
[*]    (setq y0 (+ y0 jj))
[*]    (print y0)
[*])          ;end repeat int1
[*](princ)
[*])

gogozb 发表于 2022-11-10 18:00:49

飞雪神光 发表于 2022-11-10 17:52
(setq y0 (cadr wb))放到repeat上(外)面

谢谢您,不善于检查啊,最近才开始学习autolisp,visual lisp有哪些调试技巧,感觉vba的编辑器好用,摸索好久还是没弄明白,还请赐教。

飞雪神光 发表于 2022-11-10 17:52:56

(setq y0 (cadr wb))放到repeat上(外)面

萧●﹏●明 发表于 2022-11-11 22:17:35

本帖最后由 萧●﹏●明 于 2022-11-11 22:19 编辑

楼上说的是对的,把(setq y0 (cadr wb))放在循环外面就行了不然每次循环y0 值就会重置后面写的修改坐标Y值得代码都没用

飞雪神光 发表于 2022-11-12 12:18:54

gogozb 发表于 2022-11-10 18:00
谢谢您,不善于检查啊,最近才开始学习autolisp,visual lisp有哪些调试技巧,感觉vba的编辑器好用,摸索 ...

我用的飞诗编辑器 调试什么的都很方便

gogozb 发表于 2022-11-14 15:14:29

萧●﹏●明 发表于 2022-11-11 22:57
给你加了一点判断与控制文本的变量

[*]你还可以改改


谢谢您,受教了。

萧●﹏●明 发表于 2022-11-14 22:09:31

gogozb 发表于 2022-11-14 15:14
谢谢您,受教了。

我也才开始学,学了一点皮毛:lol

gogozb 发表于 2022-11-14 23:12:24

飞雪神光 发表于 2022-11-12 12:18
我用的飞诗编辑器 调试什么的都很方便

您好,可以分享“飞诗lisp”此软件吗,网上找来用不了。我安装cad2020版本,麻烦分享一份给我,邮箱:1065886598@qq.com。谢谢!
页: [1] 2
查看完整版本: 求助,写几行中间对齐的平行文本