乐筑天下

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

[编程交流] C3D 2016 LISP不工作

[复制链接]

2

主题

14

帖子

12

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 19:47:45 | 显示全部楼层 |阅读模式
我刚刚了解到,我们的一些旧LISP在C3D 2016中不起作用,正在寻求帮助。如果您能提供任何帮助,我们将不胜感激。下面是一个不再有效的LISP示例。
 
  1. (defun C:ROSNAP ()
  2. (graphscr)
  3. (setq oldsnap (getvar "osmode"))
  4. (setq smd (getvar "snapmode"))
  5. (setq tll (entsel "Select Object: "))
  6. (setq tlle (car tll))
  7. (setq pt1 (cadr tll))
  8. (setq nme (cdr (assoc 0 (entget tlle))))
  9. (if (= nme "LINE") (progn
  10.         (setq pt2 (osnap pt1 "mid,qui"))
  11.                (setq pt3 (osnap pt1 "end,qui"))
  12.                (command "SNAP" "R" pt2 pt3)))
  13. (if (= nme "POLYLINE") (progn
  14.                (setq pt2 (osnap pt1 "mid,qui"))
  15.                (setq pt3 (osnap pt1 "end,qui"))
  16.                (command "SNAP" "R" pt2 pt3)))
  17. (if (= nme "ARC") (progn
  18.                (setq pt2 (osnap pt1 "end,qui"))
  19.                (setq pt3 (osnap pt1 "cen,qui"))
  20.                (command "SNAP" "R" pt2 pt3)))
  21. (setvar "snapmode" smd)
  22. (setvar "osmode" oldsnap)
  23. )
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 19:53:34 | 显示全部楼层
这是一个已知问题,您需要将命令更改为VL cmdf或COMMAND-s
回复

使用道具 举报

2

主题

14

帖子

12

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 19:55:53 | 显示全部楼层
 
请告诉我在哪里可以了解更多关于这个已知问题的信息。谢谢
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 19:57:48 | 显示全部楼层
只有谷歌,我也必须更改一堆代码。我一次只做了60个左右。
 
  1. ; this is the core so need to add findfile etc
  2. ; Convert command to command-s
  3. ; by BIG-AL May 2015
  4. ; add rename and findfile
  5. (defun AH:command-s (exfile / newfile fo f2)
  6. (vl-load-com)
  7. (setq newfile (strcat exfile ".BAK"))
  8. (vl-file-rename exfile newfile)
  9. (setq fo (open newfile "R"))
  10. (setq f2 (open exfile "w"))
  11. (while (setq str (read-line fo))
  12. (setq str (VL-string-subst "COMMAND-S" "COMMAND" (strcase str) ))
  13. (princ (strcat "\n" str))
  14. (write-line str f2)
  15. )
  16. (close fo)
  17. (close f2)
  18. (princ)
  19. )
  20. (ah:command-s "C:/Temp/test.lsp")
  21. ; just add lots of lisps here
回复

使用道具 举报

2

主题

14

帖子

12

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 20:03:26 | 显示全部楼层
VL cmdf或Command-s的更好替代品是什么?
回复

使用道具 举报

2

主题

14

帖子

12

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 20:06:11 | 显示全部楼层
 
其实并不是这么简单。我在第一篇文章中尝试了这两种方法,但两种方法都不适用于我最初的示例。
回复

使用道具 举报

17

主题

1274

帖子

25

银币

后起之秀

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

铜币
260
发表于 2022-7-5 20:09:54 | 显示全部楼层
Command-s应该可以工作,请阅读:https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/vlisp-what-to-do-with-command-s/td-p/5058168?nobounce
你有什么样的错误或输出?
回复

使用道具 举报

2

主题

14

帖子

12

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 20:10:10 | 显示全部楼层
 
我读到这篇文章时脑子里有一个大大的问号。我想指出我的问题是在C3D 2016中。
 
在我最初的LISP中,我遇到了以下错误:
  1. Command: RoSnap Select Object: SNAP
  2. Command: r Unknown command "R".  Press F1 for help.

 
将“command”更改为“command-s”后,我出现以下错误:
  1. Command: RoSnap Select Object: Application ERROR: Invalid type sent as command input
  2. ; error: Unknown (command-s) failure.
回复

使用道具 举报

17

主题

1274

帖子

25

银币

后起之秀

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

铜币
260
发表于 2022-7-5 20:13:35 | 显示全部楼层
虽然“R”期权在2015年有效,但它不再列为期权。我还没有安装2016,你有没有试着在命令行上查看“Snap R”在2016年是否有效?
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 20:17:29 | 显示全部楼层
当我看到你的代码时,我认为这是一种有趣的方法,以前从未见过这样做的旋转。您可能需要重写以围绕点旋转实体。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 13:57 , Processed in 0.368291 second(s), 72 queries .

© 2020-2025 乐筑天下

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