乐筑天下

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

[编程交流] 关于a的初级Lisp程序问题

[复制链接]

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 06:28:49 | 显示全部楼层 |阅读模式
编辑:[已解决]请参阅下面李的第二篇文章。
 
使用这些论坛,我发现了一些LISP代码,可以创建视口边界的副本并将其放置在模型空间中,效果很好。
http://www.jtbworld.com/lisp/vp-outline.htm
 
但我想更进一步。
 
所以我在原始代码的最后一个括号之前添加了一些新代码。。。但它不能正常工作。我的目标是通过选择新创建的边框,然后将其放入一个新创建的具有自动分配名称的组(这就是为什么我没有在.group命令前加“-”来完成LISP。
 
我在原始代码最后一个右括号之前添加的新代码:
运行LISP会在命令行历史记录中产生以下错误:
 
命令:VP-OUTLINE-ANDGROUP
.选择
选择对象:找到1个
选择对象:。组
*无效的选择*
需要一个点或窗口/Last/Crossing/BOX/ALL/Fence/WPolygon/CPolygon/Group/Add/Remove/Multiple/Previous/Undo/AUto/SIngle/SUbobject/Object
; 错误:功能已取消
 
 
我做错了什么?
回复

使用道具 举报

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 06:40:29 | 显示全部楼层
此外;在第一行代码中没有引号,因为在它周围加引号不起作用。它给出了另一个错误,因为它显然是在输入分号,而不是模仿按下回车按钮,这正是我试图做的,但现在我担心;没有引号只是在补救它之后的(普林斯)。
 
我做这一切的最终原因是自动在三维对象周围创建视口边界,这将允许我移动三维几何体,同时使用Zoom/“Object”/“Group”命令使图纸空间视口自动跟随几何体。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 06:44:56 | 显示全部楼层
我还没有看过这个程序,但试着在期末考试之前加上这个(普林斯):
 
  1. (if (setq sel (ssget "_L"))
  2.    (command "_.group" sel "")
  3. )
回复

使用道具 举报

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 06:57:26 | 显示全部楼层
 
如果我用你的代码替换我附加的代码,但需要注意的是,代码在原始代码的最后一个(princ)之前,我会得到以下错误:
 
命令:VP-OUTLINE
_.组输入组选项
[?/Order/Add/Remove/Explode/REName/selective/Create]:
选项关键字无效。
; 错误:功能已取消
 
从字面上理解你的回答,李.麦克,我也试着在我的附加代码的最后一个(princ)之前插入你的代码,没有删除我的任何附加代码,这也不起作用。
 
我只是想澄清一下,换句话说,我试图编写的代码是“选择最后创建的对象,然后将其分配给一个组”。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:03:12 | 显示全部楼层
 
啊,我看到通过AutoLISP调用GROUP命令会默认启动旧版本的命令。
 
试试这个:
  1. 2

 
在原始程序代码(不是您的修改版本)的最后一个(princ)之前插入上述内容。
回复

使用道具 举报

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 07:11:41 | 显示全部楼层
作品非常感谢。
 
我将查看您的代码以了解更多关于LISP的信息。
 
如果我能再问一个问题。。。
似乎我的代码无法模拟最后按Enter键结束。选择command,然后继续。group命令。“或”也没有工作。然而,我在网上找到了一个说“或者”应该是指按下回车按钮。这不对吗?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:17:34 | 显示全部楼层
 
不客气!
 
 
在宏中,空格模拟用户按空格键,分号[noparse]([/noparse]模拟用户按Enter键(宏引用)。
 
在AutoLISP中,当向命令函数提供参数时,空字符串(“”)等同于用户按Enter键;分号[noparse]([/noparse]后面同一行上的任何内容都被视为注释,不由解释器评估。
回复

使用道具 举报

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 07:24:44 | 显示全部楼层
这是有道理的。我尝试了“”,但没有“”。
回复

使用道具 举报

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 07:33:24 | 显示全部楼层
编辑:事实上,后来我发现下面发布的代码没有选择正确的对象放入组(尽管运行整个lisp确实会创建边界,进入模型空间,并创建自动指定的组),因此下面的代码毕竟不能正确工作。
 
在另一条帖子中,李·麦克发布了他版本的副总裁大纲。lsp,我决定用他的lisp代替。
http://www.cadtutor.net/forum/showthread.php?21820-图纸空间视口中的模型空间坐标/第3页
 
因此,我从这个线程中学到了什么,并将其与李·麦克的lisp结合使用,这样他的lisp创建的每个边界也会立即保存到一个自动命名的组中。只需将下面的代码复制粘贴到李Mac的VPOutlineV1-0的正确位置。lsp‎.*
 
正确的点就在……的正前方。。。
 
(普林斯)
)
 
;; ssget-李Mac
;; ssget函数的包装器,允许使用自定义选择提示
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 15:30 , Processed in 0.444973 second(s), 81 queries .

© 2020-2025 乐筑天下

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