乐筑天下

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

[编程交流] 图纸文件名与布局相同

[复制链接]

20

主题

53

帖子

32

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
105
发表于 2022-7-6 12:57:42 | 显示全部楼层 |阅读模式
您好,是否有一个LISP例程,当您保存图形时,它会自动创建一个与图形文件名相同的布局,如果有多个布局,则删除?(例如,如果图纸文件名为A-001.dwg,则布局名称也将为A-001。它将自动重命名现有布局名称,而不是键入。这样,每次保存为图形时,它都会自动对布局名称执行相同的操作)。
 
在我们的office CAD标准中,我们仅为每个图纸文件保留一(1)个布局。图纸文件名与布局名称相同。
 
非常感谢你的帮助。
提前谢谢。
回复

使用道具 举报

12

主题

395

帖子

384

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 13:08:55 | 显示全部楼层
您可以在中使用类似的内容和一些saveas代码。。。
 
  1. (vla-put-name
  2. (vla-item
  3.    (vla-get-layouts
  4.      (vla-get-activedocument
  5.    (vlax-get-acad-object))) 0) (substr (setq dwgn (getvar "dwgname")) 1 (- (strlen dwgn) 4)))
回复

使用道具 举报

20

主题

53

帖子

32

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
105
发表于 2022-7-6 13:15:09 | 显示全部楼层
哇,我试过你的代码,太棒了。
谢谢commandobill先生:)
回复

使用道具 举报

12

主题

395

帖子

384

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 13:24:17 | 显示全部楼层
没问题!希望你一切顺利。
回复

使用道具 举报

20

主题

53

帖子

32

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
105
发表于 2022-7-6 13:29:03 | 显示全部楼层
您好,有时代码如果工作完美,我的意思是它根据图纸名称重命名布局。但有时它也不会重命名布局,命令提示符上出现的消息是:command:(load“rename layout”);错误:自动化错误。无法重命名模型布局。。
 
谢谢
 
 
回复

使用道具 举报

12

主题

395

帖子

384

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 13:40:43 | 显示全部楼层
嗯,我必须查看您的代码,但我会添加一个检查,看看您试图更改的布局是否是模型选项卡,然后再运行其余的代码。
回复

使用道具 举报

20

主题

53

帖子

32

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
105
发表于 2022-7-6 13:49:19 | 显示全部楼层
无论我是否在model选项卡、modelspace或papespace中,有时它都根本不起作用。
 
代码如下:
 
(vla put名称
(vla项目
(vla获取布局
(vla获取activedocument
(vlax get acad object)))0)(substr(setq dwgn(getvar“dwgname”))1(-strlen dwgn)4)
 
这和你发给我的代码是一样的。
 
谢谢你的时间commandobill。
回复

使用道具 举报

12

主题

395

帖子

384

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 13:53:15 | 显示全部楼层
正如我所说,我认为您需要的是一个简单的检查,看看您试图更改的选项卡是否是model。像这样的事情就足够了。
  1. (defun c:rname ( / lay layo dwgn)
  2. (setq layo (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object))))
  3. (if (= (vla-get-name (setq lay (vla-item layo 0))) "Model")
  4.    (setq lay (vla-item layo 1)))
  5. (vla-put-name lay (substr (setq dwgn (getvar "dwgname")) 1 (- (strlen dwgn) 4)))
  6. )
回复

使用道具 举报

20

主题

53

帖子

32

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
105
发表于 2022-7-6 14:03:34 | 显示全部楼层
你的新代码现在运行得很好。
谢谢比尔。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 06:10 , Processed in 0.554967 second(s), 70 queries .

© 2020-2025 乐筑天下

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