lisp读写cass属性_CAD CASS下实体的扩展属性XDATA

CAD CASS

下实体的扩展属性

XDATA(

2011-09-23 13:15

一:摘自网络

正确叫法为

扩展数据

-- xdata

系统提供了几个用于处理扩展数据的

AutoLISP

函数,它们是由用

ObjectARX

AutoLISP

编写

的应用程序创建的。如果一个图元包含扩展数据,则该数据会紧跟在图元的正常定义数据之后。

通过调用

entget

可以获取一个图元的扩展数据。

entget

函数获取图元的正常定义数据和应用程

序(在

entget

调用中指定)的扩展数据。

当用

entget

获取扩展数据时,扩展数据的起始部分由

-3

组码指示。

-3

组码位于一个表中,该

表以第一个

1001

组码开始。

如下表所示,

1001

组码包含所获取的第一个注册的应用名称,

细信息请参见后面章节。

正常和扩展数据的组码

组码

字段

数据类型

(?, ?

(0?39

)

图元名称

)

正常定义数据字段

)

.

.

.

常规图元定义数据

(?

(1001

(1000,

1002?071

(1001

(1000,

1002?071

(1001

扩展数据标记

注册的应用名称

1)

XDATA

字段

)

.

.

.

册的应用程序名称

2)

XDATA

字段

)

.

.

.

注册的应用名称

3)

.

.

扩展数据

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Lisp(LISt Processing)是一种编程语言,常被用于自动化CAD软件的开发与扩展。对于提取CAD块中的所有属性,可以使用Lisp编写程序来完成。 在CAD软件中,块(Block)是一种重要的元素,它可以将多个实体对象组合成一个整体,并赋予其唯一的标识符和属性。块可以包含属性,这些属性可以用于进一步描述和标识块。 要提取CAD块中的所有属性,可以按照以下步骤进行操作: 1. 在Lisp中,使用`(ssget)`函数选择所有的块对象,将其保存在一个选择集中。 2. 遍历选择集,使用`(entget)`函数逐个获取每个块对象的详细信息。 3. 对于每个块对象,使用`(entget)`函数获取其属性列表。 4. 遍历属性列表,使用`(cdr)`函数逐个提取每个属性的键值对。 5. 将提取到的属性信息进行处理和保存,可以输出到控制台或者写入文件中。 下面是一个简单的示例代码,用于在AutoCAD软件中提取CAD块中的所有属性: ```lisp (defun extract-block-attributes () (setq block-ss (ssget "X" '((0 . "INSERT")))) (setq block-count (sslength block-ss)) (setq attribute-list '()) (repeat block-count (setq block (ssname block-ss (setq i (1+ i)))) (setq attribute-ss (ssget "X" (list '(0 . "ATTRIB") (cons 2 (cdr (assoc 2 (entget block))))))) (setq attribute-count (sslength attribute-ss)) (setq j 0) (repeat attribute-count (setq attribute (ssname attribute-ss (setq j (1+ j)))) (setq attribute-data (entget attribute)) (setq attribute-list (append attribute-list (list attribute-data))) ) ) (setq attribute-count (length attribute-list)) (repeat attribute-count (setq attribute-data (nth (setq i (1+ i)) attribute-list)) (princ (cdr (assoc 2 attribute-data))) ; 输出属性名称 (princ ": ") (princ (cdr (assoc 1 attribute-data))) ; 输出属性值 (princ) ; 换行 ) ) ``` 上述代码通过`(ssget)`函数选择所有块对象,然后使用`(ssget)`函数再次选择对应的属性对象。通过遍历属性列表,再分别提取属性的键名和键值,并逐个输出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值