明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 315|回复: 4

[提问] srt 值为啥不变

[复制链接]
发表于 2019-11-11 12:23 | 显示全部楼层 |阅读模式
  1. (defun c:fd()
  2. (initget 7)
  3. (setq p1 (getpoint "文字所在位置:"))
  4. (initget 1 "1 2 3")
  5.   (setq bklx (getkword "\n选择[L1零Y2半(1)/L1零P2全(2)/L1零Y2半Y3半(3)]:"))
  6.   (print bklx)
  7. (if (= bhlx 1)(setq srt "L1零Y2半"))
  8. (if (= bhlx 2)(setq srt "L1零P2全"))
  9. (if (= bhlx 3)(setq srt "L1零Y2半Y3半"))
  10.    (print srt)
  11.    (entmake
  12.   (list
  13.   '(0 . "TEXT")
  14.   '(8 . "房屋附属")
  15. (cons 10 p1)
  16. (cons 1 srt)
  17. '(40 . 0.5)
  18. '(41 . 0.8)
  19.   )
  20.   )
  21. )


发表于 2019-11-11 12:37 | 显示全部楼层
(if (= bhlx "1") ...
 楼主| 发表于 2019-11-11 12:56 | 显示全部楼层
没用测试过
发表于 2019-11-11 16:02 | 显示全部楼层
可否先注解每一段代码之本意为何?

曾否验证返回值映合本意!?

何处不合!? 有错误讯息吗?
发表于 2019-11-12 14:36 | 显示全部楼层
initget函数后的getkword获得的数据是str,而(= bhlx 1)相当于(= "1" 1)自然是永远不为t了.

(if (= bhlx "1")(setq srt "L1零Y2半"))
(if (= bhlx "2")(setq srt "L1零P2全"))
(if (= bhlx "3")(setq srt "L1零Y2半Y3半"))
这样试试建议用cond改写一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-17 04:28 , Processed in 0.158211 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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