lisp使用entdel出错_AUTO LISP函数参考5

AUTO

LISP

函数参考

4

下列函数可让用户检索和修改定义实体的数据,所有函数都用实体名指定要操作的实体.

4.1

(entdel

)

如果由指定的实体在当前图中,它就被删掉,如果在这次编辑中该实体已被删

除,那么它将被重新恢复出来(从当前图中).退出图形编辑程序时,被删除的实体便从图中

彻底清除掉了,所以

ENTDEL

只能在删除实体的那次编辑过程中使实体再恢复.ENTDEL

只对

主实体进行操作.对属性和多义线的顶点是不能脱离其双亲实体而予删除的(可使用

COMM

AND

函数执行

ATTEDIT

PEDIT

命令来达到这一目的).

例如:

(setq

e1

(entnext)

)

;置

E1

为图中第一个实体的名

(entdel

e1)

;删去实体

E1

(entdel

e1)

;不删除(恢复)已被删去的实体

E1

4.2

(entget

)

从数据库中检索到名为的实体,并以表形式返回,此表包含实体的定义数据表

的结果以

LISP

的关联表形式编制,用

ASSOC

函数可以容易地从中检索每一项.表中的对象是

AutoCAD

DXF

组码形式定义的,它们是为实体数据的每个部分准备的.例如,用下列命令

序列画线,然后再检索此线:

对下面的例子,我们假定:

.

当前层是"0",

.

当前线型是"CONTINUOUS"(缺省值),

.

当前

Z

向高度是零(缺省值),

.

实体标号功能被关闭,而且

.

FLATLAND

系统变量值为零.

假设用下列命令画一条线:

Command:

LINE

From

point:

1,2

To

point:

6,6

To

point:

RETURN

然后可以用下述命令为线检索实体数据:

Command:

(setq

a

(entget

(entlast)))

假定系统变量

FLATLAND

为零(即要求

3D

点).这样,将把

A

置为下表(为了可读,作了缩进

排列):

(

(-1

.

name:

60000014>)

(0

.

"LINE")

;Entity

type

(8

.

"0")

;Layer

(10

1.0

2.0

0.0)

;Start

point

(11

6.0

6.0

0.0)

;End

point

)

表的开头-1

项包含这个所代表的实体名.下面描述的

ENTMOD

函数将用这种表来识别要

修改的实体.

表示某一值的点对表可以很容易地用

ASSOC

提取,再用

CDR

分离出它们的值.实体中各部

分的编码是

DXF

所用的那些编码,在

AutoCAD

参考手册的附录

C

中有描述.和

DXF

一样,实体题

头项(实体的颜色和线型,属性跟随标志,厚度,及实体标号)只有在不为缺省值时才被输出.

DXF

不同的是,任选的实体定义字段不管是否和它们的缺省值相等都将被输出.这样做的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值