如果您遵循老派规则,即主边框平铺必须大于平铺尺寸的1\2,则必须在填充边框之前进行一些手动计算和调整。然后必须将舱口移到适当位置。
这来自一个旧的例程,该例程生成网格线,但不修剪边界外多余的线。它会自动调整边框平铺
方向为48“轴方向“X”或“Y”
[color=#8b4513];;; 2 X 4 Ceiling Tile Grid[/color][color=#8b4513];;;ARG -> Border_Point_List Direction-X/Y[/color][color=#8b4513];;;RET -> nil[/color][b][color=BLACK]([/color][/b]defun ct-2x4 [b][color=FUCHSIA]([/color][/b]pl dir / nx xx ny xy xs ys xc yc xq yq xt yt xr yr i xa ya[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq nx [b][color=NAVY]([/color][/b]apply 'min [b][color=MAROON]([/color][/b]mapcar 'car pl[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] xx [b][color=NAVY]([/color][/b]apply 'max [b][color=MAROON]([/color][/b]mapcar 'car pl[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] ny [b][color=NAVY]([/color][/b]apply 'min [b][color=MAROON]([/color][/b]mapcar 'cadr pl[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] xy [b][color=NAVY]([/color][/b]apply 'max [b][color=MAROON]([/color][/b]mapcar 'cadr pl[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] xs [b][color=NAVY]([/color][/b]- xx nx[b][color=NAVY])[/color][/b] ys [b][color=NAVY]([/color][/b]- xy ny[b][color=NAVY])[/color][/b] xc [b][color=NAVY]([/color][/b]+ nx [b][color=MAROON]([/color][/b]* xs 0.5[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] yc [b][color=NAVY]([/color][/b]+ ny [b][color=MAROON]([/color][/b]* ys 0.5[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]if [b][color=NAVY]([/color][/b]= dir [color=#2f4f4f]"X"[/color][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]setq xt 48. yt 24.[b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]setq xt 24. yt 48.[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq xq [b][color=NAVY]([/color][/b]fix [b][color=MAROON]([/color][/b]/ xs xt[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] xr [b][color=NAVY]([/color][/b]- xs [b][color=MAROON]([/color][/b]* xq xt[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] yq [b][color=NAVY]([/color][/b]fix [b][color=MAROON]([/color][/b]/ ys yt[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] yr [b][color=NAVY]([/color][/b]- ys [b][color=MAROON]([/color][/b]* yq yt[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]if [b][color=NAVY]([/color][/b]< xr [b][color=MAROON]([/color][/b]* xt 0.25[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]setq xc [b][color=MAROON]([/color][/b]+ xc [b][color=GREEN]([/color][/b]* xt 0.5[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] xa T[b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]setq xa nil[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]if [b][color=NAVY]([/color][/b]< yr [b][color=MAROON]([/color][/b]* yt 0.25[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]setq yc [b][color=MAROON]([/color][/b]+ yc [b][color=GREEN]([/color][/b]* yt 0.5[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] ya T[b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]setq ya nil[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq i 1[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]entmake [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]cons 0 [color=#2f4f4f]"LINE"[/color][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]list 10 nx yc 0[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]list 11 xx yc 0[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq i 1[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]<= [b][color=MAROON]([/color][/b]+ yc [b][color=GREEN]([/color][/b]* yt i[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] xy[b][color=NAVY])[/color][/b] [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]list 10 nx [b][color=BLUE]([/color][/b]+ yc [b][color=RED]([/color][/b]* yt i[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]list 11 xx [b][color=BLUE]([/color][/b]+ yc [b][color=RED]([/color][/b]* yt i[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]setq i [b][color=MAROON]([/color][/b]1+ i[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq i 1[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]>= [b][color=MAROON]([/color][/b]- yc [b][color=GREEN]([/color][/b]* yt i[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] ny[b][color=NAVY])[/color][/b] [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]list 10 nx [b][color=BLUE]([/color][/b]- yc [b][color=RED]([/color][/b]* yt i[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]list 11 xx [b][color=BLUE]([/color][/b]- yc [b][color=RED]([/color][/b]* yt i[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]setq i [b][color=MAROON]([/color][/b]1+ i[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]entmake [b][color=NAVY]([/color][/b]list [b][color=MAROON]([/color][/b]cons 0 [color=#2f4f4f]"LINE"[/color][b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]list 10 xc ny 0[b][color=MAROON])[/color][/b] [b][color=MAROON]([/color][/b]list 11 xc xy 0[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq i 1[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]<= [b][color=MAROON]([/color][/b]+ xc [b][color=GREEN]([/color][/b]* xt i[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] xx[b][color=NAVY])[/color][/b] [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]list 10 [b][color=BLUE]([/color][/b]+ xc [b][color=RED]([/color][/b]* xt i[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] ny 0[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]list 11 [b][color=BLUE]([/color][/b]+ xc [b][color=RED]([/color][/b]* xt i[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] xy 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]setq i [b][color=MAROON]([/color][/b]1+ i[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]setq i 1[b][color=FUCHSIA])[/color][/b] [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]>= [b][color=MAROON]([/color][/b]- xc [b][color=GREEN]([/color][/b]* xt i[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b] nx[b][color=NAVY])[/color][/b] [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]list 10 [b][color=BLUE]([/color][/b]- xc [b][color=RED]([/color][/b]* xt i[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] ny 0[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]list 11 [b][color=BLUE]([/color][/b]- xc [b][color=RED]([/color][/b]* xt i[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b] xy 0[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b] [b][color=NAVY]([/color][/b]setq i [b][color=MAROON]([/color][/b]1+ i[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b][b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]
玩得开心-大卫