我不确定是否可以删除Ctrl+click消息,但这里有一种替代方法:
- [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] c:rx [b][color=RED]([/color][/b][b][color=BLUE]/[/color][/b] ent Obj zVal[b][color=RED])[/color][/b]
- [b][color=RED]([/color][/b][b][color=BLUE]vl-load-com[/color][/b][b][color=RED])[/color][/b]
- [b][color=RED]([/color][/b][b][color=BLUE]while[/color][/b]
- [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b]
- [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] ent [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]entsel[/color][/b] [b][color=#ff00ff]"\nSelect LWPolyline: "[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
- [b][color=RED]([/color][/b][b][color=BLUE]cond[/color][/b] [b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=DARKRED]'[/color][/b]ENAME [b][color=RED]([/color][/b][b][color=BLUE]type[/color][/b] ent[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
- [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=#ff00ff]"AcDbPolyline"[/color][/b]
- [b][color=RED]([/color][/b][b][color=BLUE]vla-get-ObjectName[/color][/b]
- [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] Obj [b][color=RED]([/color][/b][b][color=BLUE]vlax-ename->vla-object[/color][/b] ent[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
- [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=#ff00ff]"\n** Object is not an LWPOLYLINE **"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
- [b][color=RED]([/color][/b][b][color=BLUE]t[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=#ff00ff]"\n** Nothing Selected **"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
- [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] zVal [b][color=RED]([/color][/b][b][color=BLUE]getdist[/color][/b] [b][color=#ff00ff]"\nEnter New Z Value: "[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
- [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b]
- [b][color=RED]([/color][/b][b][color=BLUE]vla-put-Elevation[/color][/b] Obj zVal[b][color=RED])[/color][/b]
- [b][color=RED]([/color][/b][b][color=BLUE]vla-add[/color][/b]
- [b][color=RED]([/color][/b][b][color=BLUE]vla-get-Hyperlinks[/color][/b] Obj[b][color=RED])[/color][/b]
- [b][color=RED]([/color][/b][b][color=BLUE]vl-princ-to-string[/color][/b] zVal[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
- [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
-
-
如果可以的话,我想提出几点建议:
[列表] 为变量使用更多描述性名称,这使代码10x更易于阅读和理解-尤其是在您第一次学习时。
[/列表]
[列表]使用条件语句,例如IF或WHILE循环,以允许用户输入为空,或错过单击-否则将导致错误。
[/列表]
[列表]使用“命令”功能时,包括语言兼容性前缀,即:
[/列表]
- (command "_.line" (list 0 1 0) (list 2 3 4) "")
[列表] 在本地化变量方面做得很好,许多新的LISP'er都忽略了这一点,这可能会带来很多麻烦。。
如果你还有其他问题,尽管问
李 |