乐筑天下

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

[编程交流] 拾取aut的其余点

[复制链接]

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 10:52:45 | 显示全部楼层 |阅读模式
大家好。
 
  1. (setq points (getint"\n Nos. of X Points: ") ;; <--- any number of points
  2.      Dist (getint"\nLength of Distance: ");; <--- any length
  3.      start (getpoint"\nSpecify the start point:")
  4.      )
  5. (setq pt1........
  6. pt2..........
  7.   pt3........... and so on

 
当做
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 11:07:46 | 显示全部楼层
我会把它们列在一个列表中。如果您为每个点定义变量,那么尝试访问每个点将非常有趣。
 
 
如。
  1. (setq theIndex 1)
  2. (repeat points
  3. (set (read (strcat "pt" (itoa theIndex))) (getpoint (strcat "\nIndicate point " (itoa theIndex) ": ")))
  4. (setq theIndex (1+ theIndex))
  5. )
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 11:19:33 | 显示全部楼层
非常感谢msasu
 
但我用以下代码进行了尝试。。。它给了我一个错误来修复NUMP???
  1. (defun test (/ num dist lst pt)
  2. (initget 6)
  3. (if (and (setq num (getint "\nSpecify number of X points: "))
  4.           (not (initget 6))
  5.           (setq dist (getdist "\nSpecify distance: "))
  6.           (car (setq lst (list (getpoint "\nSpecify first point: "))))
  7.      )
  8.    (progn
  9.      (while (> num (length lst))
  10.        (if (setq pt (getpoint
  11.                       (car lst)
  12.                       (strcat "\n"
  13.                               (itoa (- num (length lst)))
  14.                               " point(s) left.\nSpecify next point: "
  15.                       )
  16.                     )
  17.            )
  18.          (grdraw (cadr (setq lst (cons pt lst))) pt 3 1)
  19.        )
  20.      )
  21.      (redraw)
  22.      (reverse lst)
  23.    )
  24. )
  25. )

 
有完整的例子吗?
 
忠实的
塔瓦特
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 11:26:14 | 显示全部楼层
代码应该如下所示:
 
  1. (defun c:qq (/ theindex points)
  2. (setq theIndex (getint"\n Nos. of X Points: "))
  3. (repeat points
  4. (set (read (strcat "pt" (itoa theIndex)))
  5.      (getpoint (strcat "\nIndicate point " (itoa theIndex) ": ")))
  6. (setq theIndex (1+ theIndex))
  7. ))

 
当做
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 11:41:15 | 显示全部楼层
当然,@alanjt建议的方法非常用户友好(我的意思是程序员友好)。。。
 
当做
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 11:45:13 | 显示全部楼层
谢谢msasu。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 11:58:37 | 显示全部楼层
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 12:08 , Processed in 0.407510 second(s), 66 queries .

© 2020-2025 乐筑天下

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