乐筑天下

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

[编程交流] Lisp代码问题

[复制链接]

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 10:45:40 | 显示全部楼层 |阅读模式
你好
 
为什么有Lisp函数在特定的Autocad版本中工作,而在其他版本中不工作?????
 
当做
 
塔瓦特
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 10:50:03 | 显示全部楼层
 
这是因为在较新版本的AutoCAD中,添加了旧版本中没有的新命令、子命令和系统变量。这就是为什么使用entmake比使用命令调用更好。另一个例子是Purge命令,其子命令REGAPP不在旧版本中。在为各种版本制作程序时,尝试仔细研究有时并不容易。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 10:53:08 | 显示全部楼层
我认为Fillet是选项改变的另一个例子。
在确实使用命令的情况下,最好始终考虑语言和重新定义/未定义的命令,并始终拼写出整个选项。
 
如。
  1. (command "_.fillet" "_radius" 3.)
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 10:57:00 | 显示全部楼层
你是只为Autocad写的吗?Intellicad有一些问题,它不像我做的那样,有些事情不得不非常微妙地更改代码。mac上的lisp也一样,真的很旧。
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 10:59:05 | 显示全部楼层
 
 
你可以这样做:
  1. (setvar "filletrad" 3.0)
  2. (command "._fillet" pause)

 
以下是我的意思示例:
 
AutoCAD 2004
  1. Command: -purge
  2. Enter type of unused objects to purge
  3. [blocks/Dimstyles/LAyers/LTypes/Plotstyles/SHapes/textSTyles/Mlinestyles/All]:

 
 
AutoCAD 2009
  1. Command: -purge
  2. Enter type of unused objects to purge
  3. [blocks/Dimstyles/LAyers/LTypes/MAterials/MUltileaderstyles/Plotstyles/SHapes/
  4. textSTyles/Mlinestyles/Tablestyles/Visualstyles/Regapps/All]:

 
查看可用选项中的差异。AutoCAD 2009具有材质、多重引线样式、表格样式、视觉样式和Regapps,而AutoCAD 2004没有。
 
当我编写代码时,指出代码测试的版本是值得的,并且指出它可能在以前或将来的版本上工作,也可能不工作,以保护自己免受禁运。在某些情况下,一个命令或变量可能在未来的版本中过时,或者一个新的命令或变量在早期版本中不可用。
 
对于它,您可以做的不多,但在实现代码之前尽可能多地尝试和研究是值得的。如果不确定,请在代码头中使用上述语句。我有上面提到的两个版本,这可能还不包括我。
回复

使用道具 举报

4

主题

26

帖子

23

银币

初来乍到

Rank: 1

铜币
19
发表于 2022-7-6 11:04:03 | 显示全部楼层
大家好!
 
这是我的问题:
我想写一个lisp程序,自动加载菜单文件(mns)并运行2个宏。
谁能帮帮我吗!
 
谢谢你的回答!
顺致敬意,
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 11:07:26 | 显示全部楼层
 
你最好从论坛中的新帖子开始,这样会给所有成员机会阅读你的请求,并能更好地帮助你。
 
欢迎来到CadTutor
 
塔瓦特
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 11:09:42 | 显示全部楼层
你好
 
除了旧Cad版本命令行为外,我如何跟踪Cad版本中系统变量的变化?
 
那么,我如何保证我将要编写的代码将按其应有的方式运行呢?
 
顺致敬意,
 
塔瓦特
回复

使用道具 举报

7

主题

37

帖子

30

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 11:13:40 | 显示全部楼层
嗨,Hunszab,
欢迎来到我们的论坛。。。。。。。。。
这很容易。。。。只要你找到你的mns文件,把你的lisp。。
对于宏,你可以创建工具栏按钮并保存在那里。。。。。。
现在lisp和宏总是自动工作。。。。。。。。。
 
查找mns文件路径。。。。。。。。。。步骤
选项
文件
搜索文件路径
(见此处)
 
当做
马尼
回复

使用道具 举报

4

主题

26

帖子

23

银币

初来乍到

Rank: 1

铜币
19
发表于 2022-7-6 11:17:10 | 显示全部楼层
你好
谢谢你的回答。
但我仍然有问题,因为:我知道如何加载menufile和lisp文件,但必须使用菜单和加载菜单的用户不知道
这就是为什么我需要知道如何以编程方式修改支持文件路径,以及如何运行宏。因为如果用户选项是这样的:宏脱盐,宏不会自动运行
 
我已经准备好打开一个新主题:菜单和宏
 
谢谢你的回答!
 
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-5 02:50 , Processed in 0.567467 second(s), 72 queries .

© 2020-2025 乐筑天下

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