szx025 发表于 2023-8-14 08:55:03

参数类型错误: stringp


;;;--------柱截面----------
(defun c:zjm (/             oldoscolor_old          se       sze        sze1   sze2
              W_dist h_dist pt1           pt2          pt3       pt4        pt5    PT6
              PT7    key
             )
(if (null (tblsearch "layer" "column"))
    (command "layer" "n" "column" "c" "7" "column" "")
)
(setvar "clayer" "column")
(if (= size nil)
    (setq size "500x500")
)
(setq se (getstring (strcat "\n请输入柱截面大小" " <" size ">:")))
程序运行到这里(strcat "\n请输入柱截面大小" " <" size ">:")出现下列提示

错误:参数类型错误: stringp ((0 0) (1 100 100 6 8 10) (2 125 125 6.5 9 10)
有人知道这是啥问题吧

自贡黄明儒 发表于 2023-8-14 08:59:57

有一种可能,size不是nil,你在局部变量中加上size,就可以了。

lijiao 发表于 2023-8-14 09:09:37


(if (= size nil)
    (setq size "500x500")
)
改为:
(if (/= (type size) 'str)
    (setq size "500x500")
)

自贡黄明儒 发表于 2023-8-14 10:54:36

lijiao 发表于 2023-8-14 09:09

(if (= size nil)
    (setq size "500x500")


好办法 ,这样不影响全局变量了。

szx025 发表于 2023-8-15 08:58:31

谢谢楼上的两位大咖
页: [1]
查看完整版本: 参数类型错误: stringp