明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1859|回复: 8

为什么产生的不是带属性的块?

[复制链接]
发表于 2004-6-22 16:35:00 | 显示全部楼层 |阅读模式
采用以下lisp程序产生一匿名属性块,然后用"battman"命令后,选择刚刚产生的匿名属性块,却提示说“选定的块没有属性”。这是为什么?是程序哪个环节有问题,请指出。
(defun c:test()
(setq pt-insert '(0 0 0))
(setq pt (append '((0 . "block")(2 . "*U")(70 . 1)) (list (cons 10 pt-insert))))
(entmake pt)
(setq pt1 (polar pt-insert (/ pi 2) 0.8))
(setq pt1 (polar pt1 0 -2))
(setq pt2 (polar pt1 0 4))
(setq pt (append '((0 . "LINE")) (list (cons 10 pt1))(list (cons 11 pt2))))
(entmake pt)
(setq pt1 (polar pt-insert (/ pi 2) 0.8))
(setq pt2 (polar pt1 (/ pi 2) 3))
(setq pt (append '((0 . "LINE")) (list (cons 10 pt1))(list (cons 11 pt2))))
(entmake pt)
(setq pt1 (polar pt-insert (/ pi 2) 6.3))
(setq pt (append '((0 . "CIRCLE")(40 . 2.5)) (list (cons 10 pt1))))
(entmake pt)
(setq pt (polar pt-insert (/ pi 2) 6.3))
(setq lst (append '((0 . "ATTDEF")
(100 . "AcDbEntity")
(67 . 0)
(100 . "AcDbText")
(1 . "0")
(50 . 0.0)
(40 . 3)
(41 . 0.8)
(51 . 0.0)
(7 . "STANDARD")
(71 . 0)
(72 . 1)
(210 0.0 0.0 1.0)
(100 . "AcDbAttributeDefinition")
(3 . "基准名称")
(2 . "1")
(70 . 0)
(73 . 0)
(74 . 2)
)
(list (cons 10 pt))
(list (cons 11 pt))
)
);setq lst
(entmake lst)
(setq blkn (entmake '((0 . "ENDBLK"))))
(setq lst '((0 . "INSERT")
(100 . "AcDbEntity")
(67 . 0)
(100 . "AcDbBlockReference")
(66 . 1)
(41 . 1.0)
(42 . 1.0)
(43 . 1.0)
(50 . 0.0)
(70 . 0)
(71 . 0)
(44 . 0.0)
(45 . 0.0)
(210 0.0 0.0 1.0)
)
);setq lst
(setq lst (append lst (list (cons 2 blkn)) (list (cons 10 pt-insert)))) ;结束义
(entmake lst)
(setq pt (polar pt-insert (/ pi 2) 6.3))
(setq lst (append '((0 . "ATTRIB")
(5 . "26")
(100 . "AcDbEntity")
(67 . 0)
(100 . "AcDbText")
(50 . 0.0)
(40 . 3.0)
(41 . 0.8)
(51 . 0.0)
(7 . "STANDARD")
(71 . 0)
(72 . 1)
(210 0.0 0.0 1.0)
(100 . "AcDbAttribute")
(2 . "1")
(70 . 0)
(73 . 0)
(74 . 2)
)
(list (cons 10 pt))
(list (cons 11 pt))
(list (cons 1 "A"))
)
);setq lst
(entmake lst)
(entmake '((0 . "SEQEND")))
)
发表于 2004-6-22 19:48:00 | 显示全部楼层
大概无名块不能含有属性吧
发表于 2004-6-22 20:52:00 | 显示全部楼层
摘自帮助文件。。。属性和匿名组合一下(cons 70 3)即可

70

块类型标志(按位编码值,可以组合使用):
0 = 表示不应用下列任何标志
1 = 由图案填充、关联标注、其他内部操作或应用程序生成的匿名块
2 = 块具有非固定属性定义(如果块具有任何固定属性定义或根本没有属性定义,则不设置此位)
4 = 块是外部参照 (xref)
8 = 块是外部参照覆盖
16 = 块依赖外部参照
32 = 块是融入的外部参照,或者依赖外部参照(输入时被忽略)
64 = 定义是被引用的外部参照(输入时
被忽略)

发表于 2004-6-23 15:14:00 | 显示全部楼层
meflying:






Could you please specify in which section of the code we should change to (cons 70 3)? It still doesn't work :)
发表于 2004-6-23 15:34:00 | 显示全部楼层
发表于 2004-6-23 15:45:00 | 显示全部楼层
哈哈,绕一圈又回来了
发表于 2004-6-23 15:52:00 | 显示全部楼层
...((0 . "block")(2 . "*U")(70 . 1)) ... 建立block时,如上面。。。就改了这么一个地方,就可以了:PS:龙大侠真幽默,带我们畅游网络啊
  1. (defun c:test()
  2.    (setq pt-insert '(0 0 0))
  3.    (setq pt (append '((0 . "block")(2 . "*U")(70 . 3)) (list (cons 10 pt-insert))))
  4.    (entmake pt)
  5.    (setq pt1 (polar pt-insert (/ pi 2) 0.8))
  6.    (setq pt1 (polar pt1 0 -2))
  7.    (setq pt2 (polar pt1 0 4))
  8.    (setq pt (append '((0 . "LINE")) (list (cons 10 pt1))(list (cons 11 pt2))))
  9.    (entmake pt)
  10.    (setq pt1 (polar pt-insert (/ pi 2) 0.8))
  11.    (setq pt2 (polar pt1 (/ pi 2) 3))
  12.    (setq pt (append '((0 . "LINE")) (list (cons 10 pt1))(list (cons 11 pt2))))
  13.    (entmake pt)
  14.    (setq pt1 (polar pt-insert (/ pi 2) 6.3))
  15.    (setq pt (append '((0 . "CIRCLE")(40 . 2.5)) (list (cons 10 pt1))))
  16.    (entmake pt)
  17.    (setq pt (polar pt-insert (/ pi 2) 6.3))
  18.    (setq lst (append '((0 . "ATTDEF")
  19.                (100 . "AcDbEntity")
  20.                (67 . 0)
  21.                (100 . "AcDbText")
  22.                (1 . "0")
  23.                (50 . 0.0)
  24.                (40 . 3)
  25.                (41 . 0.8)
  26.                (51 . 0.0)
  27.                (7 . "STANDARD")
  28.                (71 . 0)
  29.                (72 . 1)
  30.                (210 0.0 0.0 1.0)
  31.                (100 . "AcDbAttributeDefinition")
  32.                (3 . "基准名称")
  33.                (2 . "1")
  34.                (70 . 0)
  35.                (73 . 0)
  36.                (74 . 2)
  37.                )
  38.            (list (cons 10 pt))
  39.            (list (cons 11 pt))
  40.            )
  41.   );setq lst
  42.    (entmake lst)
  43.    (setq blkn (entmake '((0 . "ENDBLK"))))
  44.    (setq lst '((0 . "INSERT")
  45.              (100 . "AcDbEntity")
  46.              (67 . 0)
  47.              (100 . "AcDbBlockReference")
  48.              (66 . 1)
  49.              (41 . 1.0)
  50.              (42 . 1.0)
  51.              (43 . 1.0)
  52.              (50 . 0.0)
  53.              (70 . 0)
  54.              (71 . 0)
  55.              (44 . 0.0)
  56.              (45 . 0.0)
  57.              (210 0.0 0.0 1.0)
  58.              )
  59.   );setq lst
  60.    (setq lst (append lst (list (cons 2 blkn)) (list (cons 10 pt-insert)))) ;结束义
  61.                    (entmake lst)
  62.    (setq pt (polar pt-insert (/ pi 2) 6.3))
  63.    (setq lst (append '((0 . "ATTRIB")
  64.                (5 . "26")
  65.                (100 . "AcDbEntity")
  66.                (67 . 0)
  67.                (100 . "AcDbText")
  68.                (50 . 0.0)
  69.                (40 . 3.0)
  70.                (41 . 0.8)
  71.                (51 . 0.0)
  72.                (7 . "STANDARD")
  73.                (71 . 0)
  74.                (72 . 1)
  75.                (210 0.0 0.0 1.0)
  76.                (100 . "AcDbAttribute")
  77.                (2 . "1")
  78.                (70 . 0)
  79.                (73 . 0)
  80.                (74 . 2)
  81.                )
  82.            (list (cons 10 pt))
  83.            (list (cons 11 pt))
  84.            (list (cons 1 "A"))
  85.            )
  86.   );setq lst
  87.    (entmake lst)
  88.    (entmake '((0 . "SEQEND")))
  89. )
发表于 2004-6-23 16:27:00 | 显示全部楼层

我看到alin在提问就回覆一下 8-)

顺便打打广告! Alin:
I think that is you want
明经就有资料比这更强
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=9545
龙龙仔
"alin" <nospam@address.withheld> 在邮件
news:32570799.1087953402985.JavaMail.jive@jiveforum2.autodesk.com 中撰写...
> Can anonymous block has attributes?

发表于 2004-6-23 19:31:00 | 显示全部楼层
龙斑竹果然神了,呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-6 11:34 , Processed in 0.178605 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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