乐筑天下

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

[编程交流] Getstring问题

[复制链接]

29

主题

88

帖子

59

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
145
发表于 2022-7-6 10:17:07 | 显示全部楼层 |阅读模式
全部的
 
我很难让Getstring函数不允许空白的“”返回。我已经尝试了(initget 1),但这对于getstring函数不起作用。这是我的getstring:
 
  1. (setq strg (getstring T "\nBox Content"))

 
我试着用while循环,因为当按enter时命令不会返回nil,所以它进入了一个循环,迫使我结束任务。然后我尝试了康德,同样的事情。。
 
有什么建议吗?
谢谢
 
马特
回复

使用道具 举报

29

主题

88

帖子

59

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
145
发表于 2022-7-6 10:21:10 | 显示全部楼层
  1. (setq pt1 (getpoint "\nFirst corner of box:"))
  2. (initget 32)
  3. (setq pt2 (getcorner pt1 "\nFinal corner of box: "))
  4. (setq inside (getstring T "\nContents within box: "))
  5. (setq ang (angtos (angle pt1 pt2) 0 )

 
为什么会循环?我很困惑
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 10:24:30 | 显示全部楼层
也许这将有助于:
 
  1. (defun c:FOO (/ pt1 pt2 inside ang)
  2. (if (setq pt1 (getpoint "\nFirst corner of box:"))
  3.    (progn
  4.      (initget 32)
  5.      (setq pt2 (getcorner pt1 "\nFinal corner of box: "))
  6.      (if (setq inside (getstring T "\nContents within box: "))
  7.        (while (= "" inside)
  8.          (setq inside (getstring T "\nInvalid Input, Enter Contents within box: "))))
  9.      (setq ang (angtos (angle pt1 pt2) 0 )
  10.      ;; ...Code
  11.      ))
  12. (princ))
回复

使用道具 举报

62

主题

466

帖子

404

银币

后起之秀

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

铜币
310
发表于 2022-7-6 10:28:38 | 显示全部楼层
  1. (setq ang
  2. (angtos  
  3.    (angle (setq pt1 (getpoint "\nFirst corner of box:"))
  4.             (setq pt2 (getcorner pt1 "\nFinal corner of box: "))
  5.    )
  6.    0 8
  7. )
  8. )
  9. (initget 32)
  10. (while
  11. (eq (setq inside (getstring T "\nContents within box: ")) "")
  12. (prompt "\nPlease type in something!!!!!")
  13. )
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 10:31:52 | 显示全部楼层
  1. (and (setq pt1 (getpoint "\nFirst corner of box:"))
  2.     (setq pt2 (getcorner pt1 "\nFinal corner of box: "))
  3.     (/= "" (setq inside (getstring T "\nContents within box: ")))
  4.     (setq ang (angtos (angle pt1 pt2) 0 )
  5. )
回复

使用道具 举报

29

主题

88

帖子

59

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
145
发表于 2022-7-6 10:34:38 | 显示全部楼层
谢谢你的帮助!,我还有一个问题,我想我会把它贴在这里,而不是创建一个新的thead。
Visual lisp问题:
 
我试图使用VLA-ADDTEXT放置文本,但出现以下错误:
“lisp值不强制此类型的变体:(5.59997 12.8634 0.0)”
 
  1. (vl-load-com)
  2. (setq doc (vla-get-ActiveDocument (vlax-get-Acad-Object))
  3.      spc (if (zerop (vla-get-activespace doc))
  4.     (if (= (vla-get-mspace doc) :vlax-true)
  5.       (vla-get-modelspace doc)
  6.       (vla-get-paperspace doc))
  7.     (vla-get-modelspace doc)))
  8. (if (setq inside (getstring T "\nContents within box: "))
  9. (while (= "" inside)
  10.    (setq inside (getstring T "\nInvalid Input, Enter Contents within box: "))))
  11. (setq begin (getpoint "\nCenter of Cell: "))
  12. (VLA-ADDTEXT spc INSIDE BEGIN 0.09375)

 
有什么想法吗?
马特
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 10:37:22 | 显示全部楼层
  1. (vlax-3d-point )
回复

使用道具 举报

62

主题

466

帖子

404

银币

后起之秀

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

铜币
310
发表于 2022-7-6 10:42:13 | 显示全部楼层
尝试
  1. (rtos begin 2 5)
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 10:43:24 | 显示全部楼层
 
为什么?
 
  1. Command: (setq begin (list 5.59997 12.8634 0.0))
  2. (5.59997 12.8634 0.0)
  3. Command: (rtos begin 2 5)
  4. ; error: bad argument type: numberp: (5.59997 12.8634 0.0)
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:46:47 | 显示全部楼层
另一个可能的角度来接近它。。。
 
  1. (defun c:test ( / inside begin ) (vl-load-com)
  2. (while (= "" (setq inside (getstring t "\nContents Within Box: ")))
  3.    (princ "\n** You're doing it wrong **")
  4. )
  5. (if (setq begin (getpoint "\nPick that Center: "))
  6.    (vla-AddText
  7.      (vlax-get-property (vla-get-ActiveDocument (vlax-get-acad-object))
  8.        (if (= 1 (getvar 'CVPORT)) 'PaperSpace 'ModelSpace)
  9.      )
  10.      inside (vlax-3D-point begin) 0.09375
  11.    )
  12. )
  13. (princ)
  14. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 20:47 , Processed in 0.593837 second(s), 72 queries .

© 2020-2025 乐筑天下

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