乐筑天下

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

[编程交流] 组合lsp例程

[复制链接]

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 23:29:39 | 显示全部楼层 |阅读模式
我正在使用ACAD 2013。我不熟悉使用lsp文件。有没有可能结合我经常运行的3个lsp例程来为不同的软件程序准备文件?是否可以使用组合lsp例程批处理文件夹中的多个文件?是否可以修改第一个代码以自动打开新文件?
 
  1. ;changes layout to model space, appends filename, option to open new file
  2. (defun c:L2M ( / BASE LST OLD_DIA)
  3. (setq old_dia (getvar 'FILEDIA)
  4. base (strcat (getvar 'DWGPREFIX) (vl-filename-base (getvar 'DWGNAME)))
  5. )
  6. (setvar 'FILEDIA 1)
  7. (setq lst (layoutlist))
  8. (foreach l lst
  9.    (command "_.ctab"
  10.      l
  11.      "exportlayout"
  12.      (strcat base "-" l)
  13.    )
  14. )
  15. (setvar 'FILEDIA old_dia)
  16. (princ)
  17. )

 
  1. ;Sets linework to by layer, layers to color 7 white, detaches external references
  2. (defun c:set7 ()
  3. (setq uecho (getvar "cmdecho"))
  4. (setvar "cmdecho" 0)
  5. (command "setbylayer" "al" "" "n" "y")
  6. (command "-layer" "c" "7" "*")
  7. (command "-xref" "d" "*")
  8. (setvar "cmdecho" uecho)
  9. (princ)
  10. )

 
  1. ;Justify text
  2. (defun c:BL (justify title / ss)
  3. (princ (strcat "\nSelect *Text to " title " justify: "))
  4. (if (setq ss (ssget "_:L" '((0 . "ATTDEF,MTEXT,TEXT"))))
  5.    (command "_.justifytext" ss "" justify)
  6. )
  7. (princ)
  8. )
  9. (defun c:JL (/) (_justifyIt "_ML" "Middle Left"))
  10. (defun c:JC (/) (_justifyIt "_MC" "Middle Center"))
  11. (defun c:JR (/) (_justifyIt "_MR" "Middle Right"))
  12. (defun c:BL (/) (_justifyIt "_BL" "Bottom Left"))
  13. (defun c:BC (/) (_justifyIt "_BC" "Bottom Center"))
  14. (defun c:BR (/) (_justifyIt "_BR" "Bottom Right"))
  15. (defun c:TL (/) (_justifyIt "_TL" "Top Left"))
  16. (defun c:TC (/) (_justifyIt "_TC" "Top Center"))
  17. (defun c:TR (/) (_justifyIt "_TR" "Top Right"))

 
我不知道代码作者是谁。
回复

使用道具 举报

4

主题

194

帖子

192

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 23:51:47 | 显示全部楼层
塔米帕布,
 
#1.-张贴代码时请使用代码包装。
#2.-由于所有lisp函数都定义为“c:…”您可以将它们全部放在一个lisp文件中,以便一次全部加载。
回复

使用道具 举报

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 00:05:22 | 显示全部楼层
什么是代码包装器?我试着把它们结合起来,但我对lsp写作的了解还不够。
回复

使用道具 举报

4

主题

194

帖子

192

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 00:10:36 | 显示全部楼层
看这里http://www.cadtutor.net/forum/showthread.php?9184-代码发布指南
 
 
回复

使用道具 举报

26

主题

210

帖子

184

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
130
发表于 2022-7-6 00:20:46 | 显示全部楼层
打开新文本文档。txt并将扩展名从更改为。txt到。lsp然后
复制Lisp,在新的文本文档中跳过它们。lsp然后关闭并保存lisp。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 00:38:20 | 显示全部楼层
简单的方法是使用一个脚本,可以打开和关闭任意多个脚本,并在这个过程中运行多个LISP。
 
  1. open dwg1
  2. (load "lisp1")
  3. (load "lisp2")
  4. close y
  5. open dwg2
  6. (load "lisp1")
  7. (load "lisp2")
  8. close y
  9. and so on
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 01:26 , Processed in 1.237377 second(s), 64 queries .

© 2020-2025 乐筑天下

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