gsc 发表于 2022-7-5 15:08:31

布局选项卡顺序

你好
 
我有一个LISP例程,它基于列表(id\U列表)创建布局选项卡。
我希望根据id_列表对选项卡进行排序,但Autocad正在根据名称使用自己的选项卡排序。
 
是否有关闭此功能的设置,或者lisp技巧?
如果使用“移动或复制”手动执行此操作,则有“移动到末尾”选项,当使用命令行功能-布局时,此选项不可用。

dlanorh 发表于 2022-7-5 15:18:32

http://www.cadtutor.net/forum/archive/index.php/t-35683.html

gsc 发表于 2022-7-5 15:26:22

但是这些例子不是按字母顺序排列的吗?我想根据列表(不是按字母顺序)排序

dlanorh 发表于 2022-7-5 15:31:44

 
 
使用以下lisp defun创建布局
将上述代码粘贴在lisp的顶部,注释掉上面发布的代码,并粘贴到注释掉的代码上方(右侧:addlayout id_list)
 
 
任何问题,然后请张贴您的整个Lisp程序。我现在很忙,但今天晚些时候再看

gsc 发表于 2022-7-5 15:41:46

这有点不同。
我已经有一个带有1个布局选项卡的图形,我想根据CSV文件多次复制和重命名它。
除了复制和重命名以前的布局外,它还将VPORT移动到模型空间中的相应位置。
 
1、打开图纸
2.运行lisp
3.从列表中选择布局
4、选择CSV文件
 
问题是标签的排序应该根据CSV文件
 
笔记:
lisp是我拥有的另一个lisp的修改版本,所以我仍然需要清理未使用的东西
每个项目的CSV文件都不同,在上一个项目中,id_列表恰好是按字母顺序排列的,所以我不知道排序问题。
测验图纸
创建多个WTG图纸。lsp
创建多个WTG图纸。csv

dlanorh 发表于 2022-7-5 15:42:23

请查看附件中更新的lisp。我添加了一些局部变量,以允许更改布局顺序。
 
 
布局选项卡的重新排序依赖于只有两个选项卡,“model”和开始复制的(baselay)选项卡。如果有更多,这些选项卡将移动到末尾。
 
 
我还注释了(princ id\u list),因为它实际上不需要,而DTR函数没有使用。
 
我将研究一种更有效的复制和排序布局的方法。
创建多个WTG图纸。lsp

BIGAL 发表于 2022-7-5 15:55:07

其他可能有用的是(vla get taborder),这是实际的顺序,而不是名称。

dlanorh 发表于 2022-7-5 16:01:45

请参阅附件中的lisp更新版本。
 
我添加了错误检查,因此需要将编写dcl与显示dcl分开。我已经硬编码了对话框标题,并使其仅为单选,因为多选将意味着2个或更多的模板布局!如果布局列表中只有一项,我还允许自动选择布局模板。否则,OK(确定)按钮将被禁用,直到从列表中做出选择。
 
我将读取csv文件与在while循环中创建布局副本相结合。我已经对我的代码做了评论。基本上,我创建一个新布局,然后将每个paperspace对象从模板布局克隆到新布局,复制属性,然后进入视口并执行平移。布局不需要排序,并保持其创建顺序。
 
我注意到模板布局有一个扩展字典。我还没有把这个抄过来,但我应该吗?
MWS2.lsp

gsc 发表于 2022-7-5 16:02:01

Thanx man,工作起来很有魅力。。。这比我想象的要多得多!

dlanorh 发表于 2022-7-5 16:12:40

我的荣幸。
 
关于扩展字典的任何反馈
页: [1]
查看完整版本: 布局选项卡顺序