乐筑天下

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

[编程交流] 布局选项卡名称更改

[复制链接]

11

主题

24

帖子

13

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
55
发表于 2022-7-6 09:19:50 | 显示全部楼层
我有2个Lisp例程用于此;
 
其中一个采用变量“DWGNAME”并将该值设置为布局选项卡名称(截断以排除.dwg)。这仅适用于单个布局,因为您使用的是DWGNAME变量,并且多个布局选项卡不能具有相同的名称。
 
另一个采用特定属性并将布局名称设置为该属性(在我的示例中为“修订”属性)。
 
我在accodoc中包含了这个lisp。lsp文件,所以当我将多个文件(pdf)发布到单页时,它将它们命名为“文件名修订版”,例如STMP0345-C
 
不过,最好将这两个LISP合并为一个,为布局名称提供DWGNAME+属性。。。
 
哈里斯
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 09:25:28 | 显示全部楼层
很容易得到一个布局选项卡名称列表,然后对标题栏加上这个布局进行ssget,然后拉出属性值和最新的布局名称。
这是一个开始
 
  1. (PROMPT ".....PRINTING DRAWING TO pdf's....")
  2. (setvar "cmddia" 0)
  3. (setvar "filedia" 0)
  4. (setq doc (vla-get-activedocument (vlax-get-acad-object)))
  5. (vlax-for lay (vla-get-Layouts doc)
  6. (setq plotabs (cons (vla-get-name lay) plotabs))
  7. )
  8. (setq plottablist (acad_strlsort plotabs))
  9. (setq len (length plottablist))
  10. (setq x 0)
  11. (repeat len
  12. (setq name (nth x plottablist))
  13. (princ name)
  14. (if (/= name "Model")
  15.    (progn
  16.      (setvar "ctab" name)
  17.      (COMMAND "-PLOT"  "Y"  "" "Cutepdf Writer"
  18.        "A3" "m"    "LANDSCAPE"    "N"   "W"  "-6,-6"    "807,560" "1=2"  "C"
  19.        "y"   "Designlasercolour.ctb" "Y" "n"    "n"    "y"   "N" "N" "y"      )
  20.    )
  21. )
  22. (setq x (+ x 1))
  23. )
  24. (setvar "cmddia" 1)
  25. (setvar "filedia" 1)
  26. (princ)

 
现在去哪儿
 
  1. (setq ss2 (ssget "x" '((0 . "INSERT")(2 . "Da1drsht")(410 . name))))

 
可能使用vl get&vl put更改布局名称,请其他人帮助。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-9 08:04 , Processed in 0.393404 second(s), 54 queries .

© 2020-2025 乐筑天下

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