乐筑天下

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

[编程交流] Getpoint & repeat

[复制链接]

4

主题

18

帖子

14

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 15:46:22 | 显示全部楼层 |阅读模式
Hi Guys,
 
I am writing a lisp using Getpoint (mouse input) and sometime i need 1 point sometime 2 sometime 3 and setq each point to pt1 pt2 pt3.
 
If i want to make this lisp keep asking Getpoint until user press the spacebar to proceed to next step, should i use repeat??
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 16:12:09 | 显示全部楼层
Hi,
You can use While function.
 
  1. (while (setq pt (getpoint "\nSpecify a point :")) (setq pts (cons pt pts)))
回复

使用道具 举报

76

主题

312

帖子

254

银币

后起之秀

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

铜币
390
发表于 2022-7-5 16:24:44 | 显示全部楼层
Check out this tutorail:
 
http://www.afralisp.net/autolisp/tutorials/program-looping.php
 
Exactly this question is explained there..
回复

使用道具 举报

16

主题

99

帖子

83

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-5 16:38:55 | 显示全部楼层
This will assign to a variable pt1, pt2, pt3 etc until enter/spacebar is pressed.
 
  1. (defun c:loop2 (/ pt ptlist cnt num) (setq ptlist nil) (while (setq pt (getpoint "\nEnter Point or RETURN when done: "))   (append ptlist (list pt))) ) ;_ end of while (setq cnt (length ptlist)) (setq num (+ cnt 1)) (repeat cnt   (set (read (strcat "pt" (itoa (setq num (- num 1))))) (last ptlist))   (setq ptlist (vl-remove (last ptlist) ptlist)) ) ;_ end of repeat (princ)) ;_ end of defun
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 16:55:25 | 显示全部楼层
Recursive:
  1. ; (getpoints nil "\n>>> Specify point: ")(defun getpoints ( p m ) (cond ((not (setq p (apply 'getpoint (append (if p (list p)) (if m (list m)))))) p) ((cons p (getpoints p m))))); defun getpoints
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 23:58 , Processed in 0.769692 second(s), 73 queries .

© 2020-2025 乐筑天下

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