乐筑天下

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

[编程交流] 与lambda函数混淆

[复制链接]
gS7

35

主题

244

帖子

212

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
180
发表于 2022-7-5 16:41:23 | 显示全部楼层 |阅读模式
嗨,伙计们
 
如何使用lambda函数从列表中创建坐标线
请需要帮助解决此问题
 
  1. (defun c:test(/ lst )
  2.      (setq lst '((1515.32 999.613 0.0) (2314.23 1081.97 0.0) (1690.57 752.536 0.0)
  3.           (2458.55 829.747 0.0) (1685.41 474.574 0.0) (2716.26 443.689 0.0))
  4.      )
  5.      (mapcar (function (lambda (x y)
  6.                      [color="red"] (command "line" x y "")[/color] ????
  7.                 ))
  8.       lst
  9.      )
  10. )
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 17:08:19 | 显示全部楼层
  1. (mapcar
  2. '(lambda (x y) (entmakex (list (cons 0 "LINE") (cons 10 x) (cons 11 y))))
  3. lst
  4. (append (cdr lst) (list (last lst)))
  5. )

或:
  1. (mapcar
  2. '(lambda (x) (entmakex (list (cons 0 "LINE") (cons 10 (car x)) (cons 11 (cadr x)))))
  3. (mapcar 'list lst (append (cdr lst) (list (last lst))))
  4. )

 
 
编辑:或者如果您使用LM的entmake函数,那么您可以
  1. (defun LWPoly (lst cls) ; LM
  2. (entmakex
  3.    (append
  4.      (list
  5.        (cons 0 "LWPOLYLINE") (cons 100 "AcDbEntity")
  6.        (cons 100 "AcDbPolyline") (cons 90 (length lst)) (cons 70 cls)
  7.      )
  8.      (mapcar (function (lambda (p) (cons 10 p))) lst)
  9.    )
  10. )
  11. )

执行以下操作:
  1. (LWPoly lst 0)
回复

使用道具 举报

gS7

35

主题

244

帖子

212

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
180
发表于 2022-7-5 17:23:32 | 显示全部楼层
吼叫声
 
这太棒了,我不想只创建3行实体,例如'(1 1)'(2 2)'(3 3),请等待您的回复
 
174125lo2d6edr2qd4d142.jpg
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 17:36:42 | 显示全部楼层
 
如果要从点列表中创建线,必须将项目分组,使每个项目由2个点组成(一条线由2个点定义):
而不是这样的列表
  1. '(1 1) '(2 2) '(3 3)

您必须使用:
  1. (list
  2. '((1 1) (2 2)) ; line #1
  3. '((2 2) (3 3)) ; line #2
  4. '((3 3) (1 1)) ; line #3 (if you want to close the shape)
  5. )
回复

使用道具 举报

gS7

35

主题

244

帖子

212

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
180
发表于 2022-7-5 17:54:45 | 显示全部楼层
 
 
谢谢,这对我帮助很大
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 13:40 , Processed in 0.503759 second(s), 64 queries .

© 2020-2025 乐筑天下

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