我首先推荐您学习基本的autolisp。
重多段线的gotcha是标题组70和顶点组70代码:
->参数->多段线名称
- [b][color=BLACK]([/color][/b]defun plpts [b][color=FUCHSIA]([/color][/b]en / ed mf vn vd vf[b][color=FUCHSIA])[/color][/b]
- [b][color=FUCHSIA]([/color][/b]setq ed [b][color=NAVY]([/color][/b]entget en[b][color=NAVY])[/color][/b]
- mf [b][color=NAVY]([/color][/b]cdr [b][color=MAROON]([/color][/b]assoc 70 ed[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
- [b][color=FUCHSIA]([/color][/b]and [b][color=NAVY]([/color][/b]= mf 0[b][color=NAVY])[/color][/b]
- [b][color=NAVY]([/color][/b]princ [color=#2f4f4f]"I'm a open 2D Polyline\n"[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
- [b][color=FUCHSIA]([/color][/b]and [b][color=NAVY]([/color][/b]= [b][color=MAROON]([/color][/b]logand mf 1[b][color=MAROON])[/color][/b] 1[b][color=NAVY])[/color][/b]
- [b][color=NAVY]([/color][/b]princ [color=#2f4f4f]"I'm a closed Polyline in theM direction\n"[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
- [b][color=FUCHSIA]([/color][/b]and [b][color=NAVY]([/color][/b]= [b][color=MAROON]([/color][/b]logand mf 2[b][color=MAROON])[/color][/b] 2[b][color=NAVY])[/color][/b]
- [b][color=NAVY]([/color][/b]princ [color=#2f4f4f]"I'm a curved fit Polyline\n"[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
- [b][color=FUCHSIA]([/color][/b]and [b][color=NAVY]([/color][/b]= [b][color=MAROON]([/color][/b]logand mf 2[b][color=MAROON])[/color][/b] 4[b][color=NAVY])[/color][/b]
- [b][color=NAVY]([/color][/b]princ [color=#2f4f4f]"I'm a spline-fit Polyline\n"[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
- [b][color=FUCHSIA]([/color][/b]and [b][color=NAVY]([/color][/b]= [b][color=MAROON]([/color][/b]logand mf 8[b][color=MAROON])[/color][/b] 8[b][color=NAVY])[/color][/b]
- [b][color=NAVY]([/color][/b]princ [color=#2f4f4f]"I'm a 3D Polyline\n"[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
- [b][color=FUCHSIA]([/color][/b]and [b][color=NAVY]([/color][/b]= [b][color=MAROON]([/color][/b]logand mf 16[b][color=MAROON])[/color][/b] 16[b][color=NAVY])[/color][/b]
- [b][color=NAVY]([/color][/b]princ [color=#2f4f4f]"I'm a 3D Polyline Mesh\n"[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
- [b][color=FUCHSIA]([/color][/b]and [b][color=NAVY]([/color][/b]= [b][color=MAROON]([/color][/b]logand mf 32[b][color=MAROON])[/color][/b] 32[b][color=NAVY])[/color][/b]
- [b][color=NAVY]([/color][/b]princ [color=#2f4f4f]"I'm a closed Polyline Mesh in the N direction\n"[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
- [b][color=FUCHSIA]([/color][/b]and [b][color=NAVY]([/color][/b]= [b][color=MAROON]([/color][/b]logand mf 64[b][color=MAROON])[/color][/b] 64[b][color=NAVY])[/color][/b]
- [b][color=NAVY]([/color][/b]princ [color=#2f4f4f]"I'm a PFACE Polyline Mesh\n"[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
- [b][color=FUCHSIA]([/color][/b]terpri[b][color=FUCHSIA])[/color][/b]
- [b][color=FUCHSIA]([/color][/b]setq vn [b][color=NAVY]([/color][/b]entnext en[b][color=NAVY])[/color][/b]
- vd [b][color=NAVY]([/color][/b]entget vn[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
- [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]= [color=#2f4f4f]"VERTEX"[/color] [b][color=MAROON]([/color][/b]cdr [b][color=GREEN]([/color][/b]assoc 0 vd[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
- [b][color=NAVY]([/color][/b]setq vp [b][color=MAROON]([/color][/b]cdr [b][color=GREEN]([/color][/b]assoc 10 vd[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
- vf [b][color=MAROON]([/color][/b]cdr [b][color=GREEN]([/color][/b]assoc 70 vd[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
- [color=#8b4513];;;Here's where the fun begins![/color]
- [b][color=NAVY]([/color][/b]cond [b][color=MAROON]([/color][/b][b][color=GREEN]([/color][/b]and [b][color=BLUE]([/color][/b]= mf 0[b][color=BLUE])[/color][/b]
- [b][color=BLUE]([/color][/b]= vf 0[b][color=BLUE])[/color][/b]
- [b][color=BLUE]([/color][/b]= [b][color=RED]([/color][/b]cdr [b][color=PURPLE]([/color][/b]assoc 42 vd[b][color=PURPLE])[/color][/b][b][color=RED])[/color][/b] 0[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
- [b][color=GREEN]([/color][/b]prin1 vp[b][color=GREEN])[/color][/b]
- [b][color=GREEN]([/color][/b]princ [color=#2f4f4f]" - I'm a 2D Vertex point\n"[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
- [b][color=MAROON]([/color][/b][b][color=GREEN]([/color][/b]and [b][color=BLUE]([/color][/b]= mf 0[b][color=BLUE])[/color][/b]
- [b][color=BLUE]([/color][/b]= vf 0[b][color=BLUE])[/color][/b]
- [b][color=BLUE]([/color][/b]/= [b][color=RED]([/color][/b]cdr [b][color=PURPLE]([/color][/b]assoc 42 vd[b][color=PURPLE])[/color][/b][b][color=RED])[/color][/b] 0[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
- [b][color=GREEN]([/color][/b]prin1 vp[b][color=GREEN])[/color][/b]
- [b][color=GREEN]([/color][/b]princ [color=#2f4f4f]" - I'm a 2D Bulge Ceneter point\n"[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
- [b][color=MAROON]([/color][/b][b][color=GREEN]([/color][/b]and [b][color=BLUE]([/color][/b]= [b][color=RED]([/color][/b]logand mf 2[b][color=RED])[/color][/b] 2[b][color=BLUE])[/color][/b]
- [b][color=BLUE]([/color][/b]= [b][color=RED]([/color][/b]logand vf 1[b][color=RED])[/color][/b] 1[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
- [b][color=GREEN]([/color][/b]prin1 vp[b][color=GREEN])[/color][/b]
- [b][color=GREEN]([/color][/b]princ [color=#2f4f4f]" - I'm UCS curved fit tangent point\n"[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
- [b][color=MAROON]([/color][/b][b][color=GREEN]([/color][/b]and [b][color=BLUE]([/color][/b]= [b][color=RED]([/color][/b]logand mf 8[b][color=RED])[/color][/b] 8[b][color=BLUE])[/color][/b]
- [b][color=BLUE]([/color][/b]= [b][color=RED]([/color][/b]logand vf 1[b][color=RED])[/color][/b] 32[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
- [b][color=GREEN]([/color][/b]prin1 vp[b][color=GREEN])[/color][/b]
- [b][color=GREEN]([/color][/b]princ [color=#2f4f4f]" - I'm a WCS Vertex point\n"[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
- [b][color=MAROON]([/color][/b][b][color=GREEN]([/color][/b]and [b][color=BLUE]([/color][/b]= [b][color=RED]([/color][/b]logand mf 16[b][color=RED])[/color][/b] 16[b][color=BLUE])[/color][/b]
- [b][color=BLUE]([/color][/b]= [b][color=RED]([/color][/b]logand vf 64[b][color=RED])[/color][/b] 64[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
- [b][color=GREEN]([/color][/b]prin1 vp[b][color=GREEN])[/color][/b]
- [b][color=GREEN]([/color][/b]princ [color=#2f4f4f]" - I'm a WCS Mesh point\n"[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
- [b][color=MAROON]([/color][/b][b][color=GREEN]([/color][/b]and [b][color=BLUE]([/color][/b]= [b][color=RED]([/color][/b]logand mf 64[b][color=RED])[/color][/b] 64[b][color=BLUE])[/color][/b]
- [b][color=BLUE]([/color][/b]= [b][color=RED]([/color][/b]logand vf 128[b][color=RED])[/color][/b] 128[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
- [b][color=GREEN]([/color][/b]prin1 vp[b][color=GREEN])[/color][/b]
- [b][color=GREEN]([/color][/b]princ [color=#2f4f4f]" - I'm a WCS PFACE point\n"[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
- [b][color=NAVY])[/color][/b][color=#8b4513];cond[/color]
- [b][color=NAVY]([/color][/b]setq vn [b][color=MAROON]([/color][/b]entnext vn[b][color=MAROON])[/color][/b]
- vd [b][color=MAROON]([/color][/b]entget vn[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]
基于实体构造,有许多标志组合需要测试。
玩得开心-大卫 |