乐筑天下

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

[编程交流] 插入块的简单Lisp

[复制链接]

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 06:41:13 | 显示全部楼层 |阅读模式
在过去的三个半小时里,我一直在搜索、查找、尝试、修改lisps,但仍然没有成功。现在我需要帮助!
-我有这个文件,EDL。图纸“位于”L:/AutoCAD/Template/EDL。图纸”。
-我在个人工具栏中创建了一个按钮。
目标:
1.选择创建的工具栏按钮,
2.选择所需的插入点,
3、就这样!在#2级之后,函数退出并返回到之前的位置。
提前感谢
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 06:51:07 | 显示全部楼层
欢迎来到CADTutor caxtin
 
下面是一个非常简单的示例:
  1. (defun c:myinsert ( / att blk )
  2.    (if (setq blk (findfile "L:/AutoCAD/Template/EDL.dwg"))
  3.        (progn
  4.            (setq att (getvar 'attreq))
  5.            (setvar 'attreq 0)
  6.            (while (vl-cmdf "_.-insert" blk "_S" 1.0 "_R" 0.0 "\"))
  7.            (setvar 'attreq att)
  8.        )
  9.        (princ "\nEDL.dwg not found.")
  10.    )
  11.    (princ)
  12. )
回复

使用道具 举报

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 06:54:49 | 显示全部楼层
 
谢谢你的代码。
只是一件小事。运行代码并选择插入点后,块仍然挂着,让我将其重新插入到另一个位置。我希望代码在选择第一个插入点后终止/转义。
谢谢你抽出时间来,我当然很感激。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:05:33 | 显示全部楼层
 
通过使用while循环,当前代码将持续提示块插入点,直到用户按Esc退出程序(虽然不太优雅,但我确实说过程序很简单);对于单个插入,只需删除while表达式,例如:
 
请注意,上述操作还禁用了块插入期间的属性提示,并使用1.0的固定比例和0.0的旋转。
 
 
不客气。
回复

使用道具 举报

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 07:14:11 | 显示全部楼层
是的,缩放和旋转对于这个块来说不是问题,所以在这方面,我很好。
如果我能在第一次插入后让它逃逸,那一定很棒。插入块后,块仍会挂起以进行另一次插入。
 
刚刚意识到,当我打开一个现有文件(DWG)并调用代码时,它说_EDL Unknown command“EDL”
但对于一个新文件,代码可以正常工作。
 
在我的搜索路径(L:/AutoCAD/Template)中,我有EDL。DWG文件。
在我的工具栏按钮中,我的命令是^C^C\u EDL。
此外,我还有EDL。我的崔的LISP文件夹中的LSP。
 
很抱歉在这件事上打扰了你。
谢谢
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:16:08 | 显示全部楼层
 
你确定你正在加载并运行上面发布的更新代码吗?(答复#4)
 
 
评估发布程序的命令是“myinsert”;通常,在AutoCAD命令行中计算程序的命令是紧跟在defun表达式中“c:”之后的字符串。
 
 
如何将AutoLISP(.lsp)文件加载到绘图任务中?
AppLoad/Startup Suite/ACADDOC/MNL?
回复

使用道具 举报

0

主题

55

帖子

58

银币

初来乍到

Rank: 1

铜币
1
发表于 2022-7-6 07:23:46 | 显示全部楼层
不熟悉AutoCad 2013,但您不能单击“插入块”按钮,选择要插入的块,选择要插入的位置,然后单击“回车”完成该过程吗?
 
注意:我假设您已经制作了块。
回复

使用道具 举报

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 07:27:54 | 显示全部楼层
 
引用的部分是我试图避免的。
-转到“菜单”,找到“插入”
-转到文件夹,搜索子文件夹,然后搜索子文件夹
-搜索文件(如果文件以我必须翻页的字母开头,那么我会重新开始查找文件等
-处理插入对话框
你不觉得在我的工具条上点击一个图标按钮,选择intertion点会更好吗?就像一站式购物一样。对不起,我现在很懒。
回复

使用道具 举报

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 07:36:55 | 显示全部楼层
 
首先也是最重要的一点是,该代码与我应该使用的代码(第4篇文章)配合得很好。谢谢你。
我将“myinsert”更改为我想要使用的,它工作得很好。我将其重命名为“defun c:edl”,所有操作都与代码进行得很好。
第三部分是我需要更改AutoCAD实践的地方。我不使用ACADDOC文件;到现在为止,我应该正在使用它。我会努力做到这一点,让它正常工作。但是你已经完成了我需要帮助的部分,我非常感激。这会减少我很多工作时间。
再次感谢。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:43:04 | 显示全部楼层
非常欢迎caxtin,我很高兴该程序按要求运行。
关于阿卡多克的使用(和误用),这里有几个帖子。lsp,但如果您不确定如何继续,请询问。
 
然而,对于您的任务,我强烈建议您考虑使用工具选项板。在我看来,工具选项板对于任何块库都是绝对理想的:您可以有多个选项板选项卡,每个选项卡具有指定的块类别,在每个选项板中,块可以全部来自单个“模板”图形,也可以分别来自位于任何位置的多个图形。
 
每个按钮还包括要插入的块的自动生成图像,此外,您可以设置要插入的块的比例、旋转、颜色、图层、线型、打印样式、透明度和线宽特性,所有设置在插入时自动应用于块参照(必要时自动创建必要的图层)。
 
移植也很顺利,因为可以在AutoCAD环境之间轻松导出和导入工具选项板。
 
所有这些功能都是内置的,在大多数版本的AutoCAD中都可用(因此是兼容的),无需任何自定义编程。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 14:47 , Processed in 1.248643 second(s), 72 queries .

© 2020-2025 乐筑天下

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