对inser的条件Lisp调用
我错过什么了吗?我有一个原始的代码,我想让它基于用户的选择,但它似乎并没有像预期的工作条件时使用。因此,原始代码为:
(定义c:esd\u gcid(/GRDREF MAPPATH)
(setvar“cmdecho”1)
(setvar“filedia”0)
(setvar“cmddia”0)
(命令“layer”“M”“G-NPLT”“))
(命令“rectang”PAUSE PAUSE)
(princ“\nCAD数据…”)
(setq GRDREF(getstring“输入数据类型:”))
(setq MAPPATH(strcat“M:\\GIS-CAD\\地籍\\TCAD\\DWG\\TCAD”GRDREF))
(位于“MAPPATH”X的命令“adedrawings”)
(命令“adequery”“C”“D”“L”“L”“P”“C”PAUSE“X”“E”“D”)
(命令“adedrawings”“DE”“*”“X”)
(setvar“cmddia”1)
(setvar“filedia”1)
(普林斯)
)
修改后的条件代码为
(定义c:esd\u gcid(/GRDREF MAPPATH)
(setvar“cmdecho”1)
(setvar“filedia”0)
(setvar“cmddia”0)
(命令“layer”“M”“G-NPLT”“))
(命令“rectang”PAUSE PAUSE)
(princ“\nCAD数据…”)
(setq GRDREF(getstring“输入数据类型:”))
(条件
(=GRDDEF“TCAD”)(setq MAPPATH(strcat“M:\\GIS-CAD\\地籍\\TCAD\\DWG\\”GRDREF)))
(=GRDDEF“TCAD-TEXT”)(setq MAPPATH(strcat“M:\\GIS-CAD\\地籍\\TCAD\\DWG\\”GRDREF)))
)
(位于“MAPPATH”X的命令“adedrawings”)
(命令“adequery”“C”“D”“L”“L”“P”“C”PAUSE“X”“E”“D”)
(命令“adedrawings”“DE”“*”“X”)
(setvar“cmddia”1)
(setvar“filedia”1)
(普林斯)
)
我在这个过程中失去了什么?GRDREF在传递到条件之前是否未存储在任何位置?我试图实现的是基于用户使用mapattach加载特定数据的答案。我不想为每种类型的数据生成单独的lisp命令。 您正在将getstring的返回值赋给变量GRDREF,但测试GRDDEF的值。
然而,条件是多余的,因为无论GRDREF的值是多少,您似乎在连接相同的路径。
我懂了。我想那是我的用户错误。GRDDEF应该是GRDREF。这是我的意图,但我想胖手指在捣乱方面做得很好。谢谢你指出我在编码上的错误。这实际上是我第一次尝试编写lisp例程。所以我在正确的轨道上。非常感谢李。你的帖子和回复总是准确无误 不客气-祝您好运! 请阅读代码发布指南并编辑您的帖子,将代码包含在代码标签中。
页:
[1]