lisp 删除编组中图元_利用Autolisp语言实现重复实体的删除

本文介绍如何利用Autolisp语言编程删除Autocad图形编辑过程中产生的重复数据实体,确保地形图元素的唯一性和合理性。

利用

Autolisp

语言实现重复实体的删除

:

随着外业数据的采集和内业

Autocad

图形编辑的不断深入

,

这些日常

维护有可能在图形中产生重复数据实体。

本文阐述了如何用

Autolisp

语言编程删

除这些重复实体

,

以确保图元在地形图中的唯一性和合理性。

关键词

:Autolisp

语言

重复实体

Autocad

数字化测绘大部分都是使用

Autocad

软件

,

即使是大型商用测绘软件有些也

是以

Autocad

为基础平台

,

例如南方测绘公司的

CASS

软件。因此

,

学会使用

Autocad

是每个测绘工作者的必修课。而单单会使用

Autocad

还不能完全解决工

作中可能出现的问题。例如

,

由于重复插入图块或者原地复制实体造成图形中存

在大量重复的实体

,

依靠

Autocad

现有命令又不能完全删除干净。这时就要用到

Autolisp

语言了。

Autolisp

语言是开发

Autocad

的重要工具

,

Lisp

语言和

Autocad

有机结合的产物

,

Autocad

的程序开发过程中起到了巨大的作用。所以

,

学好

Autolisp

语言

,

从而在工作中设计一个好的处理程序

,

会使复杂的任务变得简单容

易、事半功倍。

1

程序设计思路

首先生成一个选择集

,

选择要处理的图形实体。其次对选择集的全部实体进

行重复比对

,

把过滤出的重复实体添加到另一个选择集。最后删除掉重复实体选

择集中的图元。

2

自定义函数

处理过程中用到两个重要自定义函数

,

第一是包含实体的最小外框函数

:

(defun xyp-get-MinMaxPoint (ename mode / pointmax pointmin

dx dy pt1 pt2 pt3 pt4 pt5

pt6 pt7 pt8 pt9 point

);

此函数为得到实体外围框九点坐标表

(vla-getboundingbox

(vlax-ename->vla-object ename)

„minpoint

„maxpoint

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值