乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: samifox

[编程交流] 无法重新输入lisp错误

[复制链接]

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-6 00:40:22 | 显示全部楼层
 
我认为pBe的意思是:
  1. (defun C:PLR (/ cen n)
  2. (setq cen '(20.9463 13.5021 0.0))
  3. (while (= (setq n (getreal "\nEnter a factor (* pi n) - n: ")) "")
  4.    (command "line" cen (polar cen (* pi n) 50) "")
  5. )
  6. (princ)
  7. )
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 00:43:43 | 显示全部楼层
遗憾的是,当输入GET*系列函数之一或从AutoLISP调用的命令的提示时,不能在命令行使用AutoLISP表达式。
 
您可以对内置命令的提示执行此操作,只要这些命令不是从AutoLISP调用的。
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 00:49:38 | 显示全部楼层
一些例子:
错误:
 
对的:
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 00:51:19 | 显示全部楼层
 
谢谢Marko,如果SamiFox的意图是始终使用(*pi编号),那么:
 
  1. (defun C:PLR ( / cen n ang)
  2.    (setq cen '(20.9463 13.5021 0.0))
  3.    (while (setq n (getreal "\nEnter a factor (* pi n) - n: "))
  4.      (setq ang (* pi n))
  5.      (while (> ang (* pi 2))
  6. (setq ang (- ang (* pi 2)))
  7.      )
  8.      (command "line" "_non"
  9.        cen "_non"
  10.        (polar cen ang 50)  ""
  11.      )
  12.      (princ (Strcat "(* pi " (rtos n) ") : " (angtos ang 0 2)))
  13.    )
  14.    (princ)
  15. )

 
但是如果每次都想输入一个不同的表达式,那么你可以使用这样的东西
 
  1. (defun C:PLR (/ cen n ang)
  2.    (setq cen '(20.9463 13.5021 0.0))
  3.    (while [color="blue"](/= (setq n (getstring T "\nEnter lisp expression :")) "")[/color]
  4.      [color="blue"](setq _n        n
  5.     ang        (eval (read n))
  6.      )[/color]
  7.      (while (> ang (* pi 2))
  8. (setq ang (- ang (* pi 2)))
  9.      )
  10.      (command "line"
  11.        "_non"
  12.        cen
  13.        "_non"
  14.        (polar cen ang 50)
  15.        ""
  16.      )
  17.     [color="blue"] (princ (Strcat _n " : " (angtos ang 0 2)))[/color]
  18.    )
  19.    (princ)
  20. )

 
**注:无错误陷阱[its for the OP to add]**(即输入的有效性)
 
HTH公司
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-10 21:33 , Processed in 0.768625 second(s), 58 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表