乐筑天下

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

[编程交流] Vanila Lisp中的排序点列表

[复制链接]

55

主题

402

帖子

357

银币

后起之秀

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

铜币
274
发表于 2022-7-5 16:34:22 | 显示全部楼层 |阅读模式
你好
 
我试图为draftsight创建一个代码,但正如我们所知,它只支持AutoLISP而不支持Visual LISP。我被困在一个点,我想在X和Y方向排序点列表,我们可以使用VL-sort函数,但我没有找到任何autolisp函数替代它。我希望能从你那里得到一些想法。
 
等待您的输入。
 
当做
萨提什语
回复

使用道具 举报

24

主题

1265

帖子

1028

银币

后起之秀

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

铜币
362
发表于 2022-7-5 16:45:20 | 显示全部楼层
你可以从这里开始:http://www.faqs.org/faqs/CAD/autolisp-faq/part1/section-9.html
回复

使用道具 举报

55

主题

402

帖子

357

银币

后起之秀

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

铜币
274
发表于 2022-7-5 16:51:38 | 显示全部楼层
哇!谢谢。。。
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 17:05:12 | 显示全部楼层
 
那些不是吉尔写的吗?在这个线程中。
 
顺便说一句,这里有一些简单的版本:
 
  1. ; _$ (SortPointList 'x '((0 1 2) (2 0 1) (1 2 0))) -> ((0 1 2) (1 2 0) (2 0 1))
  2. ; _$ (SortPointList 'y '((0 1 2) (2 0 1) (1 2 0))) -> ((2 0 1) (0 1 2) (1 2 0))
  3. ; _$ (SortPointList 'z '((0 1 2) (2 0 1) (1 2 0))) -> ((1 2 0) (2 0 1) (0 1 2))
  4. (defun SortPointList ( mode pL )
  5. (cond
  6.    ( (not (vl-position mode '(x y z))) (princ "\nInvalid mode.") )
  7.    (T
  8.      (vl-sort pL
  9.        '(lambda (p1 p2)
  10.          (apply '< (mapcar (cdr (assoc mode '((x . car)(y . cadr)(z . caddr)))) (list p1 p2)))
  11.        )
  12.      )
  13.    )
  14. ); cond
  15. ); defun
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 17:16:54 | 显示全部楼层
这是quicksort的另一个实现,可以修改代码以接受任意排序函数。
回复

使用道具 举报

24

主题

1265

帖子

1028

银币

后起之秀

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

铜币
362
发表于 2022-7-5 17:19:56 | 显示全部楼层
 
IDK。您引用的线程来自2011年,@gile没有提及此代码的来源。
我链接中的代码是1998年7月的。
回复

使用道具 举报

55

主题

402

帖子

357

银币

后起之秀

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

铜币
274
发表于 2022-7-5 17:26:53 | 显示全部楼层
 
谢谢你的努力,但我上面提到,我不想使用VL函数。
 
 
谢谢你
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 17:37:59 | 显示全部楼层
 
啊,很抱歉,我没有仔细阅读。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 15:48 , Processed in 1.134121 second(s), 68 queries .

© 2020-2025 乐筑天下

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