乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 76|回复: 19

[编程交流] 这有什么问题吗

[复制链接]

57

主题

351

帖子

294

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
285
发表于 2022-7-6 14:15:30 | 显示全部楼层 |阅读模式
我试图写一个lsp,它是这样开始的,当我运行它时,我的命令行说
命令:321
加载。
选择对象/:;错误:无函数定义:类型
我很困惑为什么它要求一个对象而不是一个变量,而不显示我的问题?
  1. (defun C:321 (/ type)
  2. (setq type(getvar "\n Type of wall - X L T: "))
回复

使用道具 举报

0

主题

39

帖子

39

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-6 14:19:02 | 显示全部楼层
切尔西,
 
尝试
 
“getvar”寻找系统变量,有时与“setvar”一起用于设置系统变量。
回复

使用道具 举报

57

主题

351

帖子

294

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
285
发表于 2022-7-6 14:23:38 | 显示全部楼层
谢谢,我会试试的
回复

使用道具 举报

57

主题

351

帖子

294

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
285
发表于 2022-7-6 14:27:13 | 显示全部楼层
好的,我修复了这一部分,这是我到目前为止所做的(是的,我正在尝试将3个LISP合并为一个LISP的解决方案,是的,我看到他们有一个解决方案,但我已经开始了,所以现在我想完成),所以它通过了正确的选择(感谢getstring),然后它要求为窗口选择的第一个角,然后它说
选择对象/:;错误:错误函数:“x”
知道为什么吗?wall-x lsp很好用,我试了一下
  1. (defun C:321 (/ type)
  2. (setq type(getstring "\n Type of wall - X L T: "))
  3. (cond
  4. (= type x (c:wall-x))
  5. (= type l (c:wall-l))
  6. (= type t (c:wall-t))
  7. )
  8. (princ))

flowerrobot向我展示了这个,我认为添加它会很好,因为它可以确保加载所需的文件,但我不知道放在哪里
  1. (if (findfile "Somesortalfile.lsp)
  2. (load (findfile "somesortafile.lsp))
  3. (progn
  4. (alert "\nCan Not find you file, adjust your search paths")
  5. (exit)
  6. )
  7. )

任何帮助都将不胜感激
回复

使用道具 举报

13

主题

75

帖子

62

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-6 14:30:30 | 显示全部楼层
您可以将所有lisp放在同一个文档中,并将lisp作为命令调用。
 
  1. (cond
  2. (= type x (command "lispoftypex"))
  3. (= type l (command "lispoftypel"))
  4. (= type t (command "lispoftypet"))
  5. )
  6. (princ)
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 14:34:37 | 显示全部楼层
不确定选择对象/:;错误:函数错误:“x”的东西,因为这部分代码没有发布。
 
无论如何,试试这个:
 
  1. (defun C:321 (/ type)
  2. (initget "X L T")
  3. (setq type (getstring "\n Type of wall - < X > < L > < T >: "))
  4. (cond
  5.    ((= type "X")(WALL-X))
  6.    ((= type "L")(WALL-L))
  7.    ((= type "T")(WALL-T))
  8. )
  9. (princ)
  10. )
  11. (defun WALL-X ()
  12. (ALERT "You chose WALL-X")
  13. )
  14. (defun WALL-L ()
  15. (ALERT "You chose WALL-L")
  16. )
  17. (defun WALL-T ()
  18. (ALERT "You chose WALL-T")
  19. )
回复

使用道具 举报

25

主题

61

帖子

38

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
130
发表于 2022-7-6 14:35:25 | 显示全部楼层
朋友们,我也在努力解决问题,我的眼睛湿透了,但继续努力
 
切尔西感谢延期,
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 14:38:34 | 显示全部楼层
您也可以这样做:
 
  1. (defun C:321 (/ type)
  2. (initget "X L T")
  3. (setq type (getstring "\n Type of wall - < X > < L > < T >: "))
  4. (cond
  5.    ((= type "X")(C:WALL-X))
  6.    ((= type "L")(C:WALL-L))
  7.    ((= type "T")(C:WALL-T))
  8. )
  9. (princ)
  10. )
  11. (defun C:WALL-X ()
  12. (ALERT "You chose WALL-X")
  13. )
  14. (defun C:WALL-L ()
  15. (ALERT "You chose WALL-L")
  16. )
  17. (defun C:WALL-T ()
  18. (ALERT "You chose WALL-T")
  19. )
回复

使用道具 举报

57

主题

351

帖子

294

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
285
发表于 2022-7-6 14:42:03 | 显示全部楼层
下面的链接有wall-x wall-l和wall-t,我可以单独运行它们,但从我的lsp调用时会出错
http://www.cadtutor.net/forum/showthread.php?t=38088
回复

使用道具 举报

57

主题

351

帖子

294

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
285
发表于 2022-7-6 14:45:59 | 显示全部楼层
initget的目的是什么?
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-5 03:02 , Processed in 0.327432 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表