明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1648|回复: 7

[求助]无痕大哥

[复制链接]
发表于 2009-2-16 18:45:00 | 显示全部楼层 |阅读模式

你好啊

我是WWWBXD

想问版主一个问题

就是一个DWG文件里有好多布局(最多256个)

每个布局里是一张A4的图纸,图框是一个属性块.

块里有两个属性是页码和页数

页码是布局从左到右或从右到左依次排列

我怎么样用LISP自动生成页码和页数

无痕大哥帮帮忙

发表于 2009-2-19 21:04:00 | 显示全部楼层
给个参考,你自己根据需要修改吧
  1. ;| xgetlayatts = 取布局中的块属性----by lxx.2009.2.16
  2. 参数 tags = 属性名或属性名列表,字符串
  3. 返回: list 列表
  4. 实例: (xgetlayatts (list"AA" "BB"))
  5. ->(("AA" "a") ("BB" "1") ("AA" "b") ("BB" "2") ("AA" "c") ("BB" "3"))
  6. |;
  7. (defun xgetlayatts (tags / lays n lst a x atts tag y)
  8.   (if (not(listp tags)) (setq tags (list tags)))
  9.   (setq lays (vlax-get (vla-get-activedocument (vlax-get-acad-object))'layouts)
  10.    n   (1- (vla-get-count lays))
  11.   )
  12.   (repeat n
  13.     (setq a (vla-item lays n)
  14.    n (1- n)
  15.     )
  16.     (vlax-for x (vla-get-block a)
  17.       (if (and (wcmatch (vla-get-objectname x) "*Block*")
  18.         (setq atts (vlax-invoke x 'getattributes))
  19.    )
  20. (mapcar
  21.    '(lambda (y)
  22.       (if (member (setq tag (vla-get-tagstring y)) tags)
  23.         (setq lst (cons (list tag (vla-get-textstring y)) lst))
  24.       )
  25.     )
  26.    atts
  27. )
  28.       )
  29.     )
  30.   )
  31.   lst
  32. )
 楼主| 发表于 2012-4-6 21:40:47 | 显示全部楼层
谢谢无痕版主
我已经做好了  很实用
同时评价不错
发表于 2012-4-6 21:46:30 | 显示全部楼层
时间差也太大了吧
发表于 2012-4-7 19:24:21 | 显示全部楼层
LZ刚从外星球回来
发表于 2012-4-7 21:23:38 | 显示全部楼层
wwwbxd 发表于 2012-4-6 21:40
谢谢无痕版主
我已经做好了  很实用
同时评价不错

观棋烂柯,仙界一日,人间百年!
 楼主| 发表于 2012-4-7 21:28:03 | 显示全部楼层
这两三年工作太紧张了
没时间学习lisp
最近有点时间想复习一下啊
发表于 2012-4-9 10:27:30 | 显示全部楼层
这两三年工作太紧张了
没时间学习lisp
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-9-25 05:48 , Processed in 0.145845 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表