乐筑天下

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

[编程交流] initget/cond/getkword例程

[复制链接]

21

主题

155

帖子

135

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
105
发表于 2022-7-5 17:58:41 | 显示全部楼层 |阅读模式
我创建了一个lisp,该lisp增加了在initget/cond/getkword例程中具有记忆变量(getenv“LISPS\\attfusenuminc”)的属性。这是可行的,但似乎并不正确。
要求将“Specify”作为默认选项,但如果我没有选择“Resume”来重新开始编号,则需要选择“Specify”。有人知道更好的方法吗?
  1. (defun c:test (/ option tmp)
  2. (if (getenv "LISPS\\attfusenuminc")
  3. (Setq tmp (getenv "LISPS\\attfusenuminc"))
  4. (Setq tmp "1")
  5.        )
  6. (initget (strcat "Specify Resume " tmp))
  7. (setq option (cond ((getkword (strcat "\nFuse Start Number? [specify/Resume ("tmp")] : ")))
  8.                           ("Specify")))
  9. (cond
  10.    ((eq option "Specify")
  11.     (princ "\nSpecify Selected"))
  12.    
  13.    ((eq option "Resume")
  14.     (princ "\nResume Selected"))
  15. )  
  16. (princ)
  17. )

 
它不会在默认选项中添加“点”,尽管它默认为“指定”。
 
为了清晰起见,我只包含了lisp的相关部分,其余的属性增量lisp工作得很好。
185842bfl3il43f37i5uoj.jpg
回复

使用道具 举报

0

主题

375

帖子

385

银币

限制会员

铜币
-7
发表于 2022-7-5 18:16:35 | 显示全部楼层
嗨,霍比特人
 
我认为你可以简化你的Lisp程序。实际上,设置起始编号需要两个步骤。
请看一下这个代码。您可以将数字设置为新值,或按enter键继续。
  1. (defun c:test (/ start_number tmp)
  2. (or
  3.    (Setq tmp (getenv "LISPS\\attfusenuminc"))
  4.    (Setq tmp "1")
  5. )
  6. (initget 6)
  7. (setq start_number
  8.         (cond
  9.           ((getint (strcat "\nFuse Start Number <" tmp ">: ")))
  10.           (tmp)
  11.         )
  12. )
  13. ;(setenv "LISPS\\attfusenuminc" start_number)
  14. (princ start_number)
  15. (princ)
  16. )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:30:29 | 显示全部楼层
我会回应Stefan的评论,但编写代码时会略有不同:
这样,保险丝编号变量将始终保持整数值。
回复

使用道具 举报

21

主题

155

帖子

135

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
105
发表于 2022-7-5 18:44:55 | 显示全部楼层
谢谢你们两位花时间纠正我的错误。
我对cond语句的正确运行太过眼花缭乱,以至于没有考虑另一种方式,这与您的“使用默认选项提示”Lee没有什么不同。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 19:08:46 | 显示全部楼层
实际上,有许多方法可以在AutoLISP中实现相同的结果
 
不客气!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 00:24 , Processed in 0.410865 second(s), 65 queries .

© 2020-2025 乐筑天下

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