乐筑天下

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

[编程交流] 使用Entmake创建块

[复制链接]

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:36:06 | 显示全部楼层
我还建议在层“0”上嵌入块和ENDBLK实体,以避免潜在的不可压缩层。
  1. (defun creationbois ( nom dim1 dim2 )
  2.    (if (not (tblsearch "block" nom))
  3.        (progn
  4.            (entmake (list '(0 . "BLOCK") '(8 . "0") (cons 2 nom) (list 10 (/ dim1 2.0) dim2) '(70 . 0)))
  5.            (foreach x
  6.                (list
  7.                    (list '(10 0 0)            (list 11 dim1 0))
  8.                    (list  (list 10 dim1 0)    (list 11 dim1 dim2))
  9.                    (list  (list 10 dim1 dim2) (list 11 0 dim2))
  10.                    (list  (list 10 0 dim2)   '(11 0 0))
  11.                    (list '(10 0 0)            (list 11 dim1 dim2))
  12.                    (list  (list 10 0 dim2)    (list 11 dim1 0))
  13.                )
  14.                (entmake (list '(0 . "LINE") '(8 . "_LU BOIS") (car x) (cadr x)))
  15.            )
  16.            (entmake '((0 . "ENDBLK") (8 . "0")))
  17.        )
  18.    )
  19. )
回复

使用道具 举报

56

主题

259

帖子

213

银币

后起之秀

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

铜币
270
发表于 2022-7-5 18:39:57 | 显示全部楼层
好的,谢谢大家!
 
我本应该把清单放在桌子里的
 
不管是谁!
 
Works like a charm现在希望使我的代码更小、更可读。
 
干杯
 
总有一天我会成为像你们这样的专家!
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:44:10 | 显示全部楼层
 
不客气-但请注意,列表并不是foreach表达式的“内部”,它仍然构成foreach函数的列表参数(即,您之前代码中的“points”变量)。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 18:47:21 | 显示全部楼层
如果你有3行、4行、5行或20行,我会采取一种稍微不同的方法来制作代码。每次我制作列表外部使用长度时,你都需要重做代码,以找出有多少行,并使用第n个函数处理10和11个点((1 2)(3 4)(5 6)(7……)
回复

使用道具 举报

56

主题

259

帖子

213

银币

后起之秀

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

铜币
270
发表于 2022-7-5 18:48:59 | 显示全部楼层
 
是的,我可能在这里表达了我自己,但这正是我的意思。谢谢李!
回复

使用道具 举报

56

主题

259

帖子

213

银币

后起之秀

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

铜币
270
发表于 2022-7-5 18:55:23 | 显示全部楼层
 
不知道你的意思!我的清单总是不同的。你有更多的例子吗。
 
看到不同的思维方式总是很好。
 
干杯
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 18:56:27 | 显示全部楼层
如果你看Lees代码,你已经硬编码了6行,你可以传递任意数量的行,例如((0 0)(1 1))((1 1)(11 5 5))((5 5)(22 6)),这将是3行。
回复

使用道具 举报

56

主题

259

帖子

213

银币

后起之秀

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

铜币
270
发表于 2022-7-5 19:02:14 | 显示全部楼层
 
好吧,我明白你的意思。但这段代码将始终使用6行。因为它创建了相同类型的块。
 
但如果我想用它在其他地方,但它将是一个好主意,把它作为你说。
 
比如说,我想做一个矩形或一个5号的多边形。
 
谢谢你的建议!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 00:55 , Processed in 0.515583 second(s), 66 queries .

© 2020-2025 乐筑天下

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