本帖最后由 Five丨遗忘 于 2021-1-14 00:38 编辑
请教各位大佬,vla-sendcommand 的参数如何写才能识别变量?下边这个程序试调了好久还是无法运行,烦请各位大佬帮忙看看。
- (defun c:test1 ()
- (vl-load-com)
- (setvar "filedia" 0)
- (setvar "CMDECHO" 0)
- (setq ss (ssget))
- (setq i 0)
- (while (setq e (ssname ss i))
- (setq tcname (cdr (assoc 8 (entget e))));获取图元的图层名称
- (setq obj (vlax-ename->vla-object e))
- (setq *doc (vla-get-activedocument(vlax-get-acad-object)))
- (cond
- ((= tcname "水田")(vla-sendcommand *doc "tian 211100 \n obj \n"))
- ((= tcname "旱地")(vla-sendcommand *doc "tian 211200 \n obj \n"))
- (T (ALERT "请检查图层命名是否正确!(例:地类--水田)"))
- )
- (setq i (1+ i))
- )
- (setvar "filedia" 1)
- (setvar "CMDECHO" 1)
- )
其中“tian” 是CASS的一个地类填充命令,可直接调用,“211100”是水田地类编码。以下是附件:
权限太低,附件无法上传,截图描述附件如下截图也无法上传
文字描述一下:
几个普通的闭合多段线,一部分在 水田 图层,一部分在 旱地 图层,仅此。
|