乐筑天下

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

[编程交流] 按指定的顺序排列块

[复制链接]

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 10:59:33 | 显示全部楼层 |阅读模式
你好,下午好
我需要这方面的帮助。
在指定区域中排列单个块,并在选择对象中等分固定点,如图所示。
 
例如,我想计算该区域中有多少个夹具(可能是矩形r多段线等…)。
 
当做
kpsk公司
图纸。图纸
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 11:08:56 | 显示全部楼层
有很多方法可以做到这一点。
 
你的已知参数是什么?
 
固定装置之间的最小/最大间距?
每平方英尺的固定装置数量?
房间大小?
 
 
-大卫
回复

使用道具 举报

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 11:16:48 | 显示全部楼层
嗨,大卫,
实际上,X和Y值应该手动给定。
例如,一个固定装置将覆盖12平方米(即4 x 3=12,在此x=3&Y=4)。
这样我就可以计算出在那个房间里许多固定装置可以占用的硬件。
 
当做
kpsk公司
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 11:22:24 | 显示全部楼层
如果固定装置的覆盖范围是正方形,我会尝试这样的方式:
 
  1. [color=#8b4513];++++++++++++ Get RECTANGLE +++++++++++++++++++++++++[/color]
  2. [b][color=BLACK]([/color][/b]defun getrect [b][color=FUCHSIA]([/color][/b]/ p1 p2[b][color=FUCHSIA])[/color][/b]
  3. [b][color=FUCHSIA]([/color][/b]initget 1[b][color=FUCHSIA])[/color][/b]
  4. [b][color=FUCHSIA]([/color][/b]setq p1 [b][color=NAVY]([/color][/b]getpoint [color=#2f4f4f]"\n1st Corner:   "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  5. [b][color=FUCHSIA]([/color][/b]initget 1[b][color=FUCHSIA])[/color][/b]
  6. [b][color=FUCHSIA]([/color][/b]setq p2 [b][color=NAVY]([/color][/b]getcorner p1 [color=#2f4f4f]"\n2nd Corner:   "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  7. [b][color=FUCHSIA]([/color][/b]setq ll [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]min [b][color=GREEN]([/color][/b]car p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]car p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  8.                 [b][color=MAROON]([/color][/b]min [b][color=GREEN]([/color][/b]cadr p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]cadr p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  9.                 [b][color=MAROON]([/color][/b]caddr p1[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  10.        ur [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]max [b][color=GREEN]([/color][/b]car p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]car p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  11.                 [b][color=MAROON]([/color][/b]max [b][color=GREEN]([/color][/b]cadr p1[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]cadr p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  12.                 [b][color=MAROON]([/color][/b]caddr p1[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  13.        lr [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]car ur[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]cadr ll[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]caddr p1[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  14.        ul [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]car ll[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]cadr ur[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]caddr p1[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  15. [b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]
  16. [color=#8b4513];++++++++++++ Make A Fixture Block ++++++++++++++++++[/color]
  17. [b][color=BLACK]([/color][/b]defun checkblk [b][color=FUCHSIA]([/color][/b]/ sq[b][color=FUCHSIA])[/color][/b]
  18. [b][color=FUCHSIA]([/color][/b]and [b][color=NAVY]([/color][/b]not [b][color=MAROON]([/color][/b]tblsearch [color=#2f4f4f]"BLOCK"[/color] [color=#2f4f4f]"FIXT"[/color][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  19.     [b][color=NAVY]([/color][/b]setq sq [b][color=MAROON]([/color][/b]* [b][color=GREEN]([/color][/b]sqrt la[b][color=GREEN])[/color][/b] 0.5[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  20.     [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"BLOCK"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 2 [color=#2f4f4f]"FIXT"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]list 10 0 0 0[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 70 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  21.     [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"CIRCLE"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]list 10 0 0 0[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 40 1[b][color=GREEN])[/color][/b]
  22.                    [b][color=GREEN]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 39 0[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 6 [color=#2f4f4f]"BYLAYER"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 62 256[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  23.     [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"LINE"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 6 [color=#2f4f4f]"BYLAYER"[/color][b][color=GREEN])[/color][/b]
  24.                    [b][color=GREEN]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 39 0[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 62 2[b][color=GREEN])[/color][/b]
  25.                    [b][color=GREEN]([/color][/b]list 10 [b][color=BLUE]([/color][/b]- sq[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- sq[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b]
  26.                    [b][color=GREEN]([/color][/b]list 11 [b][color=BLUE]([/color][/b]+ sq[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- sq[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  27.     [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"LINE"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 6 [color=#2f4f4f]"BYLAYER"[/color][b][color=GREEN])[/color][/b]
  28.                    [b][color=GREEN]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 39 0[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 62 2[b][color=GREEN])[/color][/b]
  29.                    [b][color=GREEN]([/color][/b]list 10 [b][color=BLUE]([/color][/b]- sq[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- sq[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b]
  30.                    [b][color=GREEN]([/color][/b]list 11 [b][color=BLUE]([/color][/b]- sq[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ sq[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  31.     [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"LINE"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 6 [color=#2f4f4f]"BYLAYER"[/color][b][color=GREEN])[/color][/b]
  32.                    [b][color=GREEN]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 39 0[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 62 2[b][color=GREEN])[/color][/b]
  33.                    [b][color=GREEN]([/color][/b]list 10 [b][color=BLUE]([/color][/b]+ sq[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ sq[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b]
  34.                    [b][color=GREEN]([/color][/b]list 11 [b][color=BLUE]([/color][/b]+ sq[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- sq[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  35.     [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"LINE"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 6 [color=#2f4f4f]"BYLAYER"[/color][b][color=GREEN])[/color][/b]
  36.                    [b][color=GREEN]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 39 0[b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 62 2[b][color=GREEN])[/color][/b]
  37.                    [b][color=GREEN]([/color][/b]list 10 [b][color=BLUE]([/color][/b]+ sq[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ sq[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b]
  38.                    [b][color=GREEN]([/color][/b]list 11 [b][color=BLUE]([/color][/b]- sq[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ sq[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  39.     [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"ENDBLK"[/color][b][color=GREEN])[/color][/b][b][color=GREEN]([/color][/b]cons 8 [color=#2f4f4f]"0"[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  40. [b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]
  41. [color=#8b4513];++++++++++++ Main Routine ++++++++++++++++++[/color]
  42. [b][color=BLACK]([/color][/b]defun c:fixt [b][color=FUCHSIA]([/color][/b]/ la a e q sq xq yq xs ys[b][color=FUCHSIA])[/color][/b]
  43. [b][color=FUCHSIA]([/color][/b]initget 6[b][color=FUCHSIA])[/color][/b]
  44. [b][color=FUCHSIA]([/color][/b]setq la [b][color=NAVY]([/color][/b]getdist [color=#2f4f4f]"\nArea of Coverage per Fixture <12>:   "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  45. [b][color=FUCHSIA]([/color][/b]or la [b][color=NAVY]([/color][/b]setq la 12.[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  46. [b][color=FUCHSIA]([/color][/b]getrect[b][color=FUCHSIA])[/color][/b]
  47. [b][color=FUCHSIA]([/color][/b]checkblk[b][color=FUCHSIA])[/color][/b]
  48. [b][color=FUCHSIA]([/color][/b]setq a [b][color=NAVY]([/color][/b]* [b][color=MAROON]([/color][/b]- [b][color=GREEN]([/color][/b]car lr[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]car ll[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]- [b][color=GREEN]([/color][/b]cadr ul[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]cadr ll[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  49.        e [b][color=NAVY]([/color][/b]/ a la[b][color=NAVY])[/color][/b]
  50.        q [b][color=NAVY]([/color][/b]fix [b][color=MAROON]([/color][/b]if [b][color=GREEN]([/color][/b]zerop [b][color=BLUE]([/color][/b]rem e 1[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] e [b][color=GREEN]([/color][/b]1+ [b][color=BLUE]([/color][/b]fix e[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  51.       sq [b][color=NAVY]([/color][/b]* [b][color=MAROON]([/color][/b]sqrt la[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  52.       xq [b][color=NAVY]([/color][/b]1+ [b][color=MAROON]([/color][/b]fix [b][color=GREEN]([/color][/b]/ [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]car lr[b][color=RED])[/color][/b] [b][color=RED]([/color][/b]car ll[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] sq[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  53.       yq [b][color=NAVY]([/color][/b]1+ [b][color=MAROON]([/color][/b]fix [b][color=GREEN]([/color][/b]/ [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]cadr ul[b][color=RED])[/color][/b] [b][color=RED]([/color][/b]cadr ll[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] sq[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  54.       xs [b][color=NAVY]([/color][/b]/ [b][color=MAROON]([/color][/b]- [b][color=GREEN]([/color][/b]car lr[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]car ll[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] xq[b][color=NAVY])[/color][/b]
  55.       ys [b][color=NAVY]([/color][/b]/ [b][color=MAROON]([/color][/b]- [b][color=GREEN]([/color][/b]cadr ul[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]cadr ll[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] yq[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  56.   [b][color=FUCHSIA]([/color][/b]entmake [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]cons 0 [color=#2f4f4f]"INSERT"[/color][b][color=MAROON])[/color][/b][b][color=MAROON]([/color][/b]cons 2 [color=#2f4f4f]"FIXT"[/color][b][color=MAROON])[/color][/b]
  57.                  [b][color=MAROON]([/color][/b]list 10 [b][color=GREEN]([/color][/b]+ [b][color=BLUE]([/color][/b]car ll[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]* xs 0.5[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
  58.                           [b][color=GREEN]([/color][/b]+ [b][color=BLUE]([/color][/b]cadr ll[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]* ys 0.5[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] 0[b][color=MAROON])[/color][/b]
  59.                  [b][color=MAROON]([/color][/b]cons 45 ys[b][color=MAROON])[/color][/b][b][color=MAROON]([/color][/b]cons 44 xs[b][color=MAROON])[/color][/b]
  60.                  [b][color=MAROON]([/color][/b]cons 71 yq[b][color=MAROON])[/color][/b][b][color=MAROON]([/color][/b]cons 70 xq[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  61.   [b][color=FUCHSIA]([/color][/b]princ [b][color=NAVY]([/color][/b]strcat [color=#2f4f4f]"\nEfficency - Minimun Req'd="[/color] [b][color=MAROON]([/color][/b]itoa q[b][color=MAROON])[/color][/b]
  62.                              [color=#2f4f4f]"\nQuantity Used="[/color] [b][color=MAROON]([/color][/b]itoa [b][color=GREEN]([/color][/b]* xq yq[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  63. [b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]

 
 
如果覆盖范围是圆形或矩形,则必须进行一些不同的计算-大卫
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 11:30:51 | 显示全部楼层
嗨,大卫。
 
真的是一个非常棒的Lisp程序,我不能离开论坛不给你我最好的问候。
 
我也在寻找一个和你一样好的程序,但它需要一些改变来满足我的需要。
 
那么,如果我试图根据需要修改它,有什么问题吗?
 
虽然我可以也可以不可以。
 
顺致敬意,
塔瓦特
回复

使用道具 举报

7

主题

37

帖子

30

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 11:40:23 | 显示全部楼层
嗨,大卫,
不错。
如果可能的话,我需要一些改变
输出块由minsert我们不能xplode和移动一个或一些夹具。
还需要块应选择一个(用户选择)
 
用户输入需要?
1.区域覆盖
2.选择块
3.选择区域边界
 
提前感谢
当做
马尼语:D
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 11:48:08 | 显示全部楼层
 
如果你修改它,一点问题都没有。玩得开心,如果你需要帮助,请回复-大卫
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 11:55:06 | 显示全部楼层
 
选择块是一个简单的更改。
 
通过边界线将是一个非常复杂的例行程序。矩形很容易解决,不规则柱脚将是一个真正的挑战-大卫
回复

使用道具 举报

7

主题

37

帖子

30

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 12:04:33 | 显示全部楼层
你好
是的,你说得很好,但我问边界只是指它的矩形,所以矩形应该是可选择的(有时我们不能在这么大的图形中轻松绘制矩形),所以选择rec?最受欢迎的选项。。。。。。。。。。。。。。。。。。
谢谢
马尼
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 11:24 , Processed in 0.451908 second(s), 81 queries .

© 2020-2025 乐筑天下

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