明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3513|回复: 10

图块与AutoLisp/Visual_lisp

[复制链接]
发表于 2005-9-9 16:31 | 显示全部楼层 |阅读模式

请教两个困扰已久的问题:

1、如何使用AutoLisp/Visual_lisp提取块中图元的组码,比如块中有一圆把此圆的组码数据((-1 . <图元名: 7ef56e90>) (0 . "CIRCLE") (330 . <图元名: 7ef56d08>)
(5 . "5A") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "BOU") (100 .
"AcDbCircle") (10 277.747 132.771 0.0) (40 . 12.0777) (210 0.0 0.0 1.0))提取出来

2、如何更新块中的属性值。填入时我采用的是用insert命令,把属性定义的“预置”取消,在插入块时按顺序把各属性填入。有没有办法用entmod或entupd等函数直接进行属性的更新?

AutoCAD开发的问题,或需要一些什么样的程序(ARX除外,我不会),也可以和我联系。我有的一定可以提供。xmltc@163.com

发表于 2005-9-10 09:18 | 显示全部楼层

1. 使用nentsel

2. 得到块,然后(EntNext Blockent)就可以得到Atributes。通用函数可以在http://mjtd.com/function 下载。

 楼主| 发表于 2005-9-10 13:13 | 显示全部楼层

是这个函数吗?

(defun listblockrefs (blkName / lst)
  (setqlst (entget
      (cdr
(assoc 330 (entget (tblobjname "block" blkName)))
      )
    )
  )
  (apply
    'append
    (mapcar '(lambda (x)
       (if (entget (cdr x))
(list (cdr x))
       )
     )
    (repeat 2
      (setq lst (reverse (cdr (member (assoc 102 lst) lst))))
    )
    )
  )
)

这个函数只能得到块的,不能得到块中的图元。

 楼主| 发表于 2005-9-10 13:35 | 显示全部楼层

2、如何更新块中的属性值。填入时我采用的是用insert命令,把属性定义的“预置”取消,在插入块时按顺序把各属性填入。有没有办法用entmod或entupd等函数直接进行属性的更新?

这个问题有没有人会?斑竹能不能解决一下?

发表于 2005-9-10 20:57 | 显示全部楼层
你是要在插入时候自动填还是要插入后更新?
 楼主| 发表于 2005-9-12 08:16 | 显示全部楼层
要插入后进行更新。最好能用Entmod或entupd进行更新。关键是没办法获取dxf组码。
发表于 2005-9-12 12:43 | 显示全部楼层

DXF使用entget...

修改属性块,双击就可以了

 楼主| 发表于 2005-9-12 12:50 | 显示全部楼层
meflying发表于2005-9-12 12:43:00 DXF使用entget... 修改属性块,双击就可以了

我现在做的是技术工艺数据,存在Access数据库中,提取出来后填入块中。

当前我的做法只能是在提取Access数据库数据后插入块,同时填入数据。

希望的操作是:提取数据后(或之前)选择块,然后把Access数据填入块中。

发表于 2005-9-12 18:08 | 显示全部楼层
看2楼
 楼主| 发表于 2005-9-13 08:40 | 显示全部楼层
秋枫发表于2005-9-10 9:18:00 1. 使用nentsel 2. 得到块,然后(EntNext Blockent)就可以得到Atributes。通用函数可以在<A href=\"http://mjtd.com/function\" target=\"_blan...
blockent 是用nentsel获取对象组码?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-7 08:21 , Processed in 0.695885 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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