乐筑天下

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

[编程交流] 关于简单门工具的建议

[复制链接]

10

主题

598

帖子

594

银币

初来乍到

Rank: 1

铜币
48
发表于 2022-7-5 17:08:21 | 显示全部楼层
只是消磨时间,直到一个Lisp程序的出现,这确实使用了一个块开始,但爆炸它在那里的某个地方,它需要为每个门点击3次。
1) 铰链点
2) 宽度-开口的另一侧
3) 将取决于是否需要翻转,如果是,请单击门扇的末端以翻转翻转,或者如果单击第三个点是正确的,请单击铰链点上的后退,门将不会翻转。
它从一个宏开始工作,你可以将它放在工具面板、菜单或riibbon上,并反复运行,直到你点击escape。我住在世界的公制一边,所以如果你使用那些有趣的测量方法,它将需要适应。无论如何,请看一看包含起始块和要练习的7面墙的附图,该块有一个对齐参数,因此当您拾取第一个点(铰链)时,您接近拾取点的墙的一侧将确定门放置在墙的哪一侧,这就是您获得练习墙的原因。
这是放置门的宏。
  1. *^C^C^C._insert;Door;end;\;;;_scale;last;;$M=$(getvar,lastpoint);reference;1000;\explode;last;_mirror;last;;$(index,0,$(getvar,lastpoint)),$(index,1,$(getvar,lastpoint));\y;

门图纸
回复

使用道具 举报

BKT

1

主题

124

帖子

123

银币

初来乍到

Rank: 1

铜币
7
发表于 2022-7-5 17:12:07 | 显示全部楼层
这里有一个尝试,直到更好的事情出现。不是优雅,不是错误陷阱,但似乎正如你所说的那样。
 
  1. (defun c:door (/ len ln1 pt1 pt2 pt3 pt4 pt5)
  2. (setq pt1 (getpoint "\nSelect Hinge Point: ")
  3.      pt2 (getpoint "\nSelect Jam Point: ")
  4.      len (distance pt1 pt2)
  5.      pt4 (polar pt1 (+ (angle pt1 pt2) (/ pi 2)) len)
  6.      pt5 (polar pt1 (- (angle pt1 pt2) (/ pi 2)) len)
  7. )
  8. (command "._LINE" pt4 pt5 "")
  9. (setq ln1 (entlast))
  10. (setq pt3 (getpoint "\nPick End Of Line On Swing Side: "))
  11. (if
  12. (equal pt3 pt4 0.000001)
  13.    (command "._ARC" pt2 "_C" pt1 pt3)
  14.    (command "._ARC" pt3 "_C" pt1 pt2)
  15. )
  16. (command "._PLINE" pt1 pt3 "")
  17. (entdel ln1)
  18. (princ)
  19. )
回复

使用道具 举报

49

主题

1246

帖子

1210

银币

后起之秀

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

铜币
254
发表于 2022-7-5 17:14:56 | 显示全部楼层
我很好奇为什么它不能是一个街区?
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 17:16:58 | 显示全部楼层
这是从一些现有例程中拼凑而成的:
 
[列表]
  • 防火商业门框
  • 2“门板
  • 最小4“壁厚
    [/列表]
     
    虽然不好看,但很多都是在20世纪90年代写的
     
    1. [b][color=BLACK]([/color][/b]defun c:door2d [b][color=FUCHSIA]([/color][/b]/ h f hf dd d s o w ll bn hp i a[b][color=FUCHSIA])[/color][/b]
    2. [b][color=FUCHSIA]([/color][/b]initget 1 [color=#2f4f4f]"Right Left"[/color][b][color=FUCHSIA])[/color][/b]
    3. [b][color=FUCHSIA]([/color][/b]setq h [b][color=NAVY]([/color][/b]getkword [color=#2f4f4f]"\nDoor Hinging - Right/Left:   "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
    4. [b][color=FUCHSIA]([/color][/b]initget 6[b][color=FUCHSIA])[/color][/b]
    5. [b][color=FUCHSIA]([/color][/b]setq f [b][color=NAVY]([/color][/b]getdist [color=#2f4f4f]"\nOverall Frame Width <40>:   "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
    6. [b][color=FUCHSIA]([/color][/b]or f [b][color=NAVY]([/color][/b]setq f 40[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
    7. [b][color=FUCHSIA]([/color][/b]setq hf [b][color=NAVY]([/color][/b]* f 0.5[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
    8. [b][color=FUCHSIA]([/color][/b]setq dd [b][color=NAVY]([/color][/b]- f 4[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
    9. [b][color=FUCHSIA]([/color][/b]initget 6[b][color=FUCHSIA])[/color][/b]
    10. [b][color=FUCHSIA]([/color][/b]setq d [b][color=NAVY]([/color][/b]getdist [b][color=MAROON]([/color][/b]strcat [color=#2f4f4f]"\nDoor Panel Width <"[/color] [b][color=GREEN]([/color][/b]rtos dd 2 2[b][color=GREEN])[/color][/b] [color=#2f4f4f]">:   "[/color][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
    11. [b][color=FUCHSIA]([/color][/b]or d [b][color=NAVY]([/color][/b]setq d dd[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
    12. [b][color=FUCHSIA]([/color][/b]setq s [b][color=NAVY]([/color][/b]* [b][color=MAROON]([/color][/b]- f d[b][color=MAROON])[/color][/b] 0.5[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
    13. [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]or [b][color=MAROON]([/color][/b]not o[b][color=MAROON])[/color][/b]
    14.             [b][color=MAROON]([/color][/b]> o [b][color=GREEN]([/color][/b]* pi [b][color=BLUE]([/color][/b]/ 170.01 180[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
    15.             [b][color=GREEN]([/color][/b]< o [b][color=BLUE]([/color][/b]/ pi 6[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
    16.         [b][color=NAVY]([/color][/b]initget 5[b][color=NAVY])[/color][/b]
    17.         [b][color=NAVY]([/color][/b]setq o [b][color=MAROON]([/color][/b]getangle [color=#2f4f4f]"\nOpen Angle Min 30 Max 170 <90>:   "[/color][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
    18.         [b][color=NAVY]([/color][/b]or o [b][color=MAROON]([/color][/b]setq o [b][color=GREEN]([/color][/b]* pi 0.5[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
    19. [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]or [b][color=MAROON]([/color][/b]not w[b][color=MAROON])[/color][/b]
    20.             [b][color=MAROON]([/color][/b]< w 4[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
    21.         [b][color=NAVY]([/color][/b]initget 6[b][color=NAVY])[/color][/b]
    22.         [b][color=NAVY]([/color][/b]setq w [b][color=MAROON]([/color][/b]getdist [color=#2f4f4f]"\nWall Thickness - Min 4 <6>:   "[/color][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
    23.         [b][color=NAVY]([/color][/b]or w [b][color=MAROON]([/color][/b]setq w 6[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
    24. [b][color=FUCHSIA]([/color][/b]defun makel [b][color=NAVY]([/color][/b]p1 p2[b][color=NAVY])[/color][/b]
    25.     [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]
    26.                    [b][color=GREEN]([/color][/b]cons 8 [color=#2f4f4f]"2D-DOOR"[/color][b][color=GREEN])[/color][/b]
    27.                    [b][color=GREEN]([/color][/b]cons 6 [color=#2f4f4f]"BYLAYER"[/color][b][color=GREEN])[/color][/b]
    28.                    [b][color=GREEN]([/color][/b]cons 39 0[b][color=GREEN])[/color][/b]
    29.                    [b][color=GREEN]([/color][/b]cons 62 256[b][color=GREEN])[/color][/b]
    30.                    [b][color=GREEN]([/color][/b]cons 10 p1[b][color=GREEN])[/color][/b]
    31.                    [b][color=GREEN]([/color][/b]cons 11 p2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
    32. [b][color=FUCHSIA]([/color][/b]setq ll [b][color=NAVY]([/color][/b]list
    33.           [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- hf[b][color=BLUE])[/color][/b] 0 0[b][color=GREEN])[/color][/b]
    34.                 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- hf[b][color=BLUE])[/color][/b] 0.5 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    35.           [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ hf[b][color=BLUE])[/color][/b] 0 0[b][color=GREEN])[/color][/b]
    36.                 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ hf[b][color=BLUE])[/color][/b] 0.5 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    37.           [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- hf[b][color=RED])[/color][/b] 0[b][color=BLUE])[/color][/b] 0.5 0[b][color=GREEN])[/color][/b]
    38.                 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- hf[b][color=RED])[/color][/b] s[b][color=BLUE])[/color][/b] 0.5 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    39.           [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]+ hf[b][color=RED])[/color][/b] 0[b][color=BLUE])[/color][/b] 0.5 0[b][color=GREEN])[/color][/b]
    40.                 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]+ hf[b][color=RED])[/color][/b] s[b][color=BLUE])[/color][/b] 0.5 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    41.           [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- hf[b][color=RED])[/color][/b] s[b][color=BLUE])[/color][/b]  0.5 0[b][color=GREEN])[/color][/b]
    42.                 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- hf[b][color=RED])[/color][/b] s[b][color=BLUE])[/color][/b] -1.5 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    43.           [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]+ hf[b][color=RED])[/color][/b] s[b][color=BLUE])[/color][/b]  0.5 0[b][color=GREEN])[/color][/b]
    44.                 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]+ hf[b][color=RED])[/color][/b] s[b][color=BLUE])[/color][/b] -1.5 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    45.           [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- hf[b][color=RED])[/color][/b] s 0.0[b][color=BLUE])[/color][/b] -1.5 0[b][color=GREEN])[/color][/b]
    46.                 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- hf[b][color=RED])[/color][/b] s 0.5[b][color=BLUE])[/color][/b] -1.5 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    47.           [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]+ hf[b][color=RED])[/color][/b] s 0.0[b][color=BLUE])[/color][/b] -1.5 0[b][color=GREEN])[/color][/b]
    48.                 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]+ hf[b][color=RED])[/color][/b] s 0.5[b][color=BLUE])[/color][/b] -1.5 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    49.           [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- hf[b][color=RED])[/color][/b] s 0.5[b][color=BLUE])[/color][/b] -1.5 0[b][color=GREEN])[/color][/b]
    50.                 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- hf[b][color=RED])[/color][/b] s 0.5[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- w[b][color=RED])[/color][/b] 1.5[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    51.           [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]+ hf[b][color=RED])[/color][/b] s 0.5[b][color=BLUE])[/color][/b] -1.5 0[b][color=GREEN])[/color][/b]
    52.                 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]+ hf[b][color=RED])[/color][/b] s 0.5[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- w[b][color=RED])[/color][/b] 1.5[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    53.           [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- hf[b][color=RED])[/color][/b] s 0.0[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]- w[b][color=RED])[/color][/b] 0.5[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b]
    54.                 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- hf[b][color=RED])[/color][/b] s 0.0[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- w[b][color=RED])[/color][/b] 1.5[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    55.           [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]+ hf[b][color=RED])[/color][/b] s 0.0[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]- w[b][color=RED])[/color][/b] 0.5[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b]
    56.                 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]+ hf[b][color=RED])[/color][/b] s 0.0[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- w[b][color=RED])[/color][/b] 1.5[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    57.           [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- hf[b][color=RED])[/color][/b] s 0.5[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- w[b][color=RED])[/color][/b] 1.5[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b]
    58.                 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- hf[b][color=RED])[/color][/b] s 0.0[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- w[b][color=RED])[/color][/b] 1.5[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    59.           [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]+ hf[b][color=RED])[/color][/b] s 0.5[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- w[b][color=RED])[/color][/b] 1.5[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b]
    60.                 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]+ hf[b][color=RED])[/color][/b] s 0.0[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- w[b][color=RED])[/color][/b] 1.5[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    61.           [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- hf[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- w[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b]
    62.                 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- hf[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]- w[b][color=RED])[/color][/b] 0.5[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    63.           [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ hf[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- w[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b]
    64.                 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ hf[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]- w[b][color=RED])[/color][/b] 0.5[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    65.           [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- hf[b][color=RED])[/color][/b] 0[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]- w[b][color=RED])[/color][/b] 0.5[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b]
    66.                 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]+ [b][color=RED]([/color][/b]- hf[b][color=RED])[/color][/b] s[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]- w[b][color=RED])[/color][/b] 0.5[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    67.           [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]+ hf[b][color=RED])[/color][/b] 0[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]- w[b][color=RED])[/color][/b] 0.5[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b]
    68.                 [b][color=GREEN]([/color][/b]list [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]+ hf[b][color=RED])[/color][/b] s[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]- [b][color=RED]([/color][/b]- w[b][color=RED])[/color][/b] 0.5[b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
    69.                 [b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
    70. [b][color=FUCHSIA]([/color][/b]entmake [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]cons 0 [color=#2f4f4f]"BLOCK"[/color][b][color=MAROON])[/color][/b][b][color=MAROON]([/color][/b]cons 2 [color=#2f4f4f]"*U"[/color][b][color=MAROON])[/color][/b][b][color=MAROON]([/color][/b]cons 70 1[b][color=MAROON])[/color][/b][b][color=MAROON]([/color][/b]list 10 0 0 0[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
    71. [b][color=FUCHSIA]([/color][/b]and [b][color=NAVY]([/color][/b]= h [color=#2f4f4f]"Right"[/color][b][color=NAVY])[/color][/b]
    72.       [b][color=NAVY]([/color][/b]setq hp [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]+ [b][color=BLUE]([/color][/b]- hf[b][color=BLUE])[/color][/b] s[b][color=GREEN])[/color][/b] 0.5 0[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
    73.       [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]
    74.                      [b][color=GREEN]([/color][/b]cons 8 [color=#2f4f4f]"2D-DOOR"[/color][b][color=GREEN])[/color][/b]
    75.                      [b][color=GREEN]([/color][/b]cons 10 hp[b][color=GREEN])[/color][/b]
    76.                      [b][color=GREEN]([/color][/b]cons 11 [b][color=BLUE]([/color][/b]polar hp o d[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
    77.        [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"ARC"[/color][b][color=GREEN])[/color][/b]
    78.                       [b][color=GREEN]([/color][/b]cons 8 [color=#2f4f4f]"2D-DOOR"[/color][b][color=GREEN])[/color][/b]
    79.                       [b][color=GREEN]([/color][/b]cons 10 hp[b][color=GREEN])[/color][/b]
    80.                       [b][color=GREEN]([/color][/b]cons 40 d[b][color=GREEN])[/color][/b]
    81.                       [b][color=GREEN]([/color][/b]cons 50 0[b][color=GREEN])[/color][/b]
    82.                       [b][color=GREEN]([/color][/b]cons 51 o[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
    83. [b][color=FUCHSIA]([/color][/b]and [b][color=NAVY]([/color][/b]= h [color=#2f4f4f]"Left"[/color][b][color=NAVY])[/color][/b]
    84.       [b][color=NAVY]([/color][/b]setq hp [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]- [b][color=BLUE]([/color][/b]+ hf[b][color=BLUE])[/color][/b] s[b][color=GREEN])[/color][/b] 0.5 0[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
    85.       [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]
    86.                      [b][color=GREEN]([/color][/b]cons 8 [color=#2f4f4f]"2D-DOOR"[/color][b][color=GREEN])[/color][/b]
    87.                      [b][color=GREEN]([/color][/b]cons 10 hp[b][color=GREEN])[/color][/b]
    88.                      [b][color=GREEN]([/color][/b]cons 11 [b][color=BLUE]([/color][/b]polar hp [b][color=RED]([/color][/b]- pi o[b][color=RED])[/color][/b] d[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
    89.        [b][color=NAVY]([/color][/b]entmake [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]cons 0 [color=#2f4f4f]"ARC"[/color][b][color=GREEN])[/color][/b]
    90.                       [b][color=GREEN]([/color][/b]cons 8 [color=#2f4f4f]"2D-DOOR"[/color][b][color=GREEN])[/color][/b]
    91.                       [b][color=GREEN]([/color][/b]cons 10 hp[b][color=GREEN])[/color][/b]
    92.                       [b][color=GREEN]([/color][/b]cons 40 d[b][color=GREEN])[/color][/b]
    93.                       [b][color=GREEN]([/color][/b]cons 50 [b][color=BLUE]([/color][/b]- pi o[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
    94.                       [b][color=GREEN]([/color][/b]cons 51 pi[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
    95. [b][color=FUCHSIA]([/color][/b]foreach l ll
    96.       [b][color=NAVY]([/color][/b]makel [b][color=MAROON]([/color][/b]car l[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]cadr l[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
    97. [b][color=FUCHSIA]([/color][/b]setq bn [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]
    98. [b][color=FUCHSIA]([/color][/b]initget 1[b][color=FUCHSIA])[/color][/b]
    99. [b][color=FUCHSIA]([/color][/b]setq i [b][color=NAVY]([/color][/b]getpoint [color=#2f4f4f]"\nINSERT Point:   "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
    100. [b][color=FUCHSIA]([/color][/b]initget 1[b][color=FUCHSIA])[/color][/b]
    101. [b][color=FUCHSIA]([/color][/b]setq a [b][color=NAVY]([/color][/b]getangle i [color=#2f4f4f]"\nINSERT Angle:   "[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
    102. [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 bn[b][color=MAROON])[/color][/b][b][color=MAROON]([/color][/b]cons 10 i[b][color=MAROON])[/color][/b][b][color=MAROON]([/color][/b]cons 50 a[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
    103. [b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]

     
     
    -大卫
  • 回复

    使用道具 举报

    10

    主题

    8258

    帖子

    8335

    银币

    初来乍到

    Rank: 1

    铜币
    31
    发表于 2022-7-5 17:22:25 | 显示全部楼层
    我很确定,根据OP,只需要绘制两个对象。1) 表示门的单线和2)表示门摆动的90度弧。其他任何事情都是多余的。
    回复

    使用道具 举报

    26

    主题

    1495

    帖子

    20

    银币

    初露锋芒

    Rank: 3Rank: 3Rank: 3

    铜币
    118
    发表于 2022-7-5 17:23:21 | 显示全部楼层
     
     
    把门框线取出来很容易。我们只能拭目以待。
    回复

    使用道具 举报

    4

    主题

    22

    帖子

    18

    银币

    初来乍到

    Rank: 1

    铜币
    20
    发表于 2022-7-5 17:27:56 | 显示全部楼层
    我原以为这很容易,但在用entmake创建一个圆弧时遇到了麻烦,让它转270度,而不是一半时间转90度。我知道它为什么这样做,但似乎无法回避。希望有人能从我停下来的地方补上
    1. (defun c:door ()
    2. (initget 1)
    3. (setq pt1 (getpoint "\nInsertion Point:   ")
    4.        pt2 (getpoint "\nDoor Width:     ")
    5.        an1 (getangle pt1 "\nSwing Direction:   ")
    6.        an2 (angle pt1 pt2)
    7.        dis (distance pt1 pt2)
    8.        pt3 (polar pt1 an1 dis))     
    9. ;  (cond ((<= an2 (- an1 pi))
    10. ;        (setq temp (list an1 an2)
    11. ;              an1 (cadr temp)
    12. ;              an2 (car temp))
    13. ;        )
    14. ;  )
    15. (command "line" pt1 pt3 "")
    16. (entmake (list (cons 0 "ARC")
    17.               (cons 10 pt1)
    18.               (cons 40 dis)
    19.               (cons 50 an2)
    20.               (cons 51 an1)))
    21. (princ))

     
    我觉得这太令人印象深刻了!
    回复

    使用道具 举报

    26

    主题

    1495

    帖子

    20

    银币

    初露锋芒

    Rank: 3Rank: 3Rank: 3

    铜币
    118
    发表于 2022-7-5 17:30:13 | 显示全部楼层
    我喜欢门框大卫,这是下一件事要做的“Cadarc”它就像你的程序开始生活在1990年代
    回复

    使用道具 举报

    66

    主题

    1552

    帖子

    1514

    银币

    后起之秀

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

    铜币
    325
    发表于 2022-7-5 17:32:24 | 显示全部楼层
    回复

    使用道具 举报

    106

    主题

    1万

    帖子

    101

    银币

    顶梁支柱

    Rank: 50Rank: 50

    铜币
    1299
    发表于 2022-7-5 17:35:29 | 显示全部楼层
    I like the door jambs David, it was the next thing to do to "Cadarc" its like your program started life 1990's
    173515shhpsshephs72f82.jpg
    回复

    使用道具 举报

    发表回复

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

    本版积分规则

    • 微信公众平台

    • 扫描访问手机版

    • 点击图片下载手机App

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

    GMT+8, 2025-3-14 15:46 , Processed in 0.967053 second(s), 83 queries .

    © 2020-2025 乐筑天下

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