乐筑天下

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

[编程交流] 需要帮助计算层数

[复制链接]

2

主题

4

帖子

2

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 09:11:31 | 显示全部楼层 |阅读模式
你好
 
我需要一个lisp例程来计算图形中从开始到结束的布局数量(布局名称不是特定的,而是随机的),并更新标题栏中的sheet no字段,例如:“1/5”、“2/5”等。。。
 
谁能指点一下怎么做??
 
 
当做
 
r、 塞卡尔
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 09:17:23 | 显示全部楼层
这将为您提供图形中的布局数量。
 
  1. (length  (layoutlist))

 
但是,更新标题栏中的sheet no字段是什么意思?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:23:22 | 显示全部楼层
在伪代码中,它可能是以下内容:
 
 
[列表]
  • 将计数器变量初始化为1,并将另一个变量初始化为1,以存储布局数(作为字符串)
    [/列表]
    1. (setq sheet 1)
    2. (setq total (itoa (length (layoutlist))))

    [列表]
  • 遍历布局列表。
    [/列表]
    1. (foreach layout (layoutlist)
    2. ...
    3. )

    [列表]
  • 对于每个布局名称,获取插入该布局中的特定名称的属性块的选择集
    [/列表]
    1. (ssget "_X" (list (cons 0 "INSERT") (cons 66 1) (cons 2 "YourBlockName") (cons 410 layout)))

    [列表]
  • 遍历SelectionSet(entnext)中每个块的属性
    [/列表]
     
    [列表]
  • 使用计数器变量和包含布局总数的变量的串联,用与页码相关的标记更新属性
    [/列表]
    1. (strcat (itoa sheet) " of " total)

    [列表]
  • 增加计数器
    [/列表]
    1. (setq sheet (1+ sheet))
  • 回复

    使用道具 举报

    145

    主题

    590

    帖子

    446

    银币

    中流砥柱

    Rank: 25

    铜币
    725
    发表于 2022-7-6 09:27:34 | 显示全部楼层
    r、 塞卡尔,
     
    有一种更简单的方法来处理字段。唯一的问题是,您需要将布局编号为1,2,3,4,5。。。。。等等,并使用另一个字段作为总页数。我有这样的设置,它工作得很好。简单的regenall更新字段。
    我附加了一个带有字段的布局。
     
    另请注意用于刻度的字段。如果更改视口比例并重新生成,则所有比例都会更新。图纸尺寸根据用于打印的页面设置进行更新。
    新建块。图纸
    回复

    使用道具 举报

    11

    主题

    968

    帖子

    919

    银币

    初露锋芒

    Rank: 3Rank: 3Rank: 3

    铜币
    99
    发表于 2022-7-6 09:31:15 | 显示全部楼层
    这对我不起作用:
    101134rsbk8k3vzs7d8x28.jpg
    我注意到您的总数来自USERS5系统变量。你可能有一些Lisp程序的设置。这就是为什么我不喜欢这样做-如果该字段用于没有加载Lisp的ACad,您会看到我的屏幕截图中显示的内容。
    回复

    使用道具 举报

    1

    主题

    23

    帖子

    22

    银币

    初来乍到

    Rank: 1

    铜币
    5
    发表于 2022-7-6 09:38:38 | 显示全部楼层
    也不在这里工作。Regen无效。
    我根据经验知道,如果在属性中使用字段,则无法获取插入的代码。
    你能告诉我你插入的代码吗?在哪一个领域,对不起,我还是个新手。
     
    Mvg约翰
    非英语母语
    回复

    使用道具 举报

    114

    主题

    1万

    帖子

    1万

    银币

    中流砥柱

    Rank: 25

    铜币
    543
    发表于 2022-7-6 09:43:03 | 显示全部楼层
    我没有看过图纸,但我猜woodman使用了一个引用LISP变量(或由LISP代码更新的用户系统变量)的字段来显示布局的总数。由于LISP变量仅在当前绘图任务期间(当文档命名空间存在时)保持其值,因此每次打开图形时都需要对其进行设置,以使字段显示正确的值。
     
    如果不引用LISP变量或用户系统变量,我无法立即看到使用字段显示布局总数的方法,因此建议OP遵循我在第3篇文章中描述的方向。
    回复

    使用道具 举报

    8

    主题

    1647

    帖子

    1647

    银币

    初来乍到

    Rank: 1

    铜币
    36
    发表于 2022-7-6 09:45:46 | 显示全部楼层
     
    我建议您了解“图纸集”:http://heidihewett.blogs.com/my_weblog/files/Sheets_Happen.pdf
    回复

    使用道具 举报

    11

    主题

    968

    帖子

    919

    银币

    初露锋芒

    Rank: 3Rank: 3Rank: 3

    铜币
    99
    发表于 2022-7-6 09:49:29 | 显示全部楼层
    我不确定你指的是什么。 
    首先,woodman的绘图在块内的普通多行文字中有字段,或者只是作为布局页面上的多行文字(而不是属性)。其次,我从来没有因为字段代码在属性中而无法得到它,你可能指的是公式字段吗?如果它们是text/attrib/table单元格中的唯一内容,则它们有变得“不可编辑”的趋势。
     
    Woodman的绘图(如我之前所述)通过两个字段加载“Sheet#of#”:
     
    (1) 指向CTab系统变量的字段,用于获取当前选项卡的名称。字段代码为“%%”
    (2) 指向Diesel表达式的字段,该表达式仅检索USERS5系统变量。字段代码为“%%”。
     
    如果您指的是日期、发行日期、比例和纸张大小,则分别为:“%%”;"%%"; “%%)*1000/%)。自定义比例\f”%lu2%qf2816“>%)\f”%lu2%pr0“>%”和“%%”。
     
    我对最后一个从lisp变量(在我的电脑上是nil)中获取其值的问题,与USERS5相同,USERS5是“”(空白文本)。如果woodman还附加了设置/创建这2个的LSP,那么它可能会起作用。
    回复

    使用道具 举报

    48

    主题

    1073

    帖子

    1043

    银币

    后起之秀

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

    铜币
    238
    发表于 2022-7-6 09:53:27 | 显示全部楼层
    难道伍德曼的是一种民事功能吗?我知道electrical内置了一些自动页码和其他参考信息。
    回复

    使用道具 举报

    发表回复

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

    本版积分规则

    • 微信公众平台

    • 扫描访问手机版

    • 点击图片下载手机App

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

    GMT+8, 2025-3-7 05:12 , Processed in 0.338958 second(s), 74 queries .

    © 2020-2025 乐筑天下

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