乐筑天下

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

[编程交流] 创建重复C的按钮

[复制链接]
YZ

27

主题

232

帖子

205

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-6 11:37:52 | 显示全部楼层 |阅读模式
我还是个新手。大多数帮助示例似乎都是关于提取数据的,这不是我需要的。
 
我希望做的是设置一个键盘按钮(比如“Q”),自动将所选文本从左对齐改为右对齐。
 
这可能吗?
 
还有,有谁知道一个好的资源来为刚起步的人查看和头脑风暴脚本的可能性吗?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:44:37 | 显示全部楼层
如果你刚刚开始学习,这些可能会有所帮助;
 
启动LISP:
http://www.afralisp.net/
http://www.jefferypsanders.com/autolisptut.html
http://ronleigh.info/autolisp/index.htm
 
 
更高级的LISP教程/帮助:
http://augiru.augi.com/content/library/au07/data/paper/CP311-4.pdf
http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html
http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/cltl/clm/node1.html
 
 
DCL教程:
http://www.jefferypsanders.com/autolisp_DCL.html
http://www.afralisp.net/
回复

使用道具 举报

YZ

27

主题

232

帖子

205

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-6 11:52:31 | 显示全部楼层
谢谢李。
 
我是不是用对正的更改找错了树,还是应该用脚本来处理?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:02:39 | 显示全部楼层
这取决于你所说的“脚本”是什么意思。
 
脚本作为命令列表在AutoCAD中运行,不需要用户输入,也不需要错误处理。
 
可以创建AutoLISP或Visual LISP程序/函数,以便使用特定语法调用它,并执行其中编码的操作。
 
当然,您可以通过AutoLISP/Visual LISP程序实现您的请求,但使用脚本会稍微困难一些。
 
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:06:18 | 显示全部楼层
例如,以下是实现目标的两种方法:
 
使用AutoLISP:(可以在此处找到参考)。
 
  1. (defun c:Text2Right_1 (/ i ss ent eLst)
  2. (if (setq i -1 ss (ssget "_:L" '((0 . "TEXT"))))   
  3.    (while (setq ent (ssname ss (setq i (1+ i))))
  4.      (setq eLst (entget ent)
  5.            eLst (subst (cons 11 (cdr (assoc 10 eLst)))
  6.                        (assoc 11 eLst) eLst))
  7.      (entmod (subst (cons 72 2) (assoc 72 eLst) eLst))))
  8. (princ))

 
使用Visual LISP:
 
  1. (defun c:Text2Right_2 (/ ss)
  2. (vl-load-com)
  3. (if (ssget "_:L" '((0 . "TEXT")))
  4.    (progn
  5.      (vlax-for obj (setq ss (vla-get-ActiveSelectionSet
  6.                               (vla-get-ActiveDocument
  7.                                 (vlax-get-acad-object))))
  8.        (setq tmp (vla-get-InsertionPoint obj))        
  9.        (vla-put-Alignment obj acAlignmentRight)
  10.        (vla-put-TextAlignmentPoint obj tmp))
  11.      (vla-delete ss)))
  12. (princ))

 
下面是另一个示例,演示了实现相同结果的各种方法。
 
http://www.cadtutor.net/forum/showpost.php?p=296877&postcount=4
 
 
希望这有帮助,
 
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 12:13:15 | 显示全部楼层
下面是我使用的几个对正宏。它们应该作为一些很好的例子/起点。
http://www.cadtutor.net/forum/showpost.php?p=271443&postcount=20
 
虽然我不建议过度使用命令调用,但lisp宏没有错。这也是一个很好的起点。
回复

使用道具 举报

6

主题

26

帖子

20

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 12:22:13 | 显示全部楼层
关于:写LISP代码,你们两个(LeeMac和Alanjt)在开始学习LISP之前使用AutoCAD多久了?您以前是否用其他语言或应用程序编程?我想这是出于提高工作速度、简化重复命令等目的。这与其他软件的编码方式类似吗?回到学校,我可以用PASCAL、FORTRAN、C和Matlab编程。所以我有能力思考程序的各个步骤,但我对实际使用的行话一无所知。
 
这对我来说很有趣。我不知道其他CAD软件是否也以同样的方式工作,但在此之前,我在automotive工作了12年,使用Unigraphics和Catia的设计团队有20-30人,我从未听过他们谈论过定制或编写任何子程序。如果我继续从事这个领域,我认为这是我必须学习的东西。
回复

使用道具 举报

YZ

27

主题

232

帖子

205

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-6 12:27:14 | 显示全部楼层
 
再次感谢李。
 
我用文字脚本作为一个通用术语,我不知道细微的差别。
 
根据你的定义,我似乎需要Lisp程序。
 
事实上,我们大部分时间都是在办公室里运行LT,我会继续努力解决问题。我知道我不能在LT上创建LISP例程,我仍然不确定是否可以插入自定义按钮。
 
我之所以使用“script”这个词,是因为我被告知“Scriptpro”将用于LT。
回复

使用道具 举报

0

主题

148

帖子

151

银币

限制会员

铜币
-1
发表于 2022-7-6 12:34:57 | 显示全部楼层
当谈到Autocad中的“脚本”时,大多数人都是指具有文件扩展名的基于文本的文件。SCR’。
 
运行脚本文件将按顺序执行一系列命令,就像在命令行中键入命令一样,但是添加用户输入并不容易——例如,选择要“重新对齐”的文本。
 
然而,对于像重新调整文本这样的简单任务,可以使用Diesal命令宏,该宏将在单击按钮时运行。
 
脚本编写:
http://www.cad-manager.com/archives/8#more-8
 
命令宏:
http://www.ellenfinkelstein.com/AutoCAD_tips_custom_command.html
 
 
(李·麦克很荣幸,他是一个顶尖的Lisp程序的人。他对“脚本”程序的解释绝对正确,我只是不认为这是你的意思。)
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:41:42 | 显示全部楼层
 
嗨,CrazyJ,
 
我是一名学生,实际上根本不使用AutoCAD-我在课间休息年曾短暂使用过它,我的一个同事向我介绍了一些写得很糟糕的LISP例程,我看到了其中的潜力,所以我迷上了编写代码。
 
我正在攻读数学学位,所以我也用MatLab写了不少东西,还把C学习到了中级水平。当然,在了解Visual LISP时,VBA并没有太大的延伸,因为只有细微的差别。
 
但是,如果你在这个行业,我绝对建议你尝试一下学习它——即使是基础知识也会加快你的工作速度。在你意识到这一点之前,你将非常精通它(当然,通过练习)。论坛对学习有很大帮助,我仍然不敢相信学习曲线对我来说有多陡峭。。。
 
 
干杯伙计
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 02:14 , Processed in 0.345149 second(s), 72 queries .

© 2020-2025 乐筑天下

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