自动修改线为指定宽度的AutoLisp程序

给一段自动修改线为指定宽度的AutoLisp程序

问题的提出

在用AutoCAD绘图时遇到需要修改别人画好的图的各种线为指定宽度的问题。我们都知道应该用PEdit命令。但是,你会发现,修改少量的线还可以,当需要修改的线数量巨大的时候,重复的工作量就会大的惊人了。这时候AutoLisp自动执行的优势就派上用场了。

实现目标

我希望将所要修改的线用尽可能少的的输入实现自动修改为指定宽度——仅输入命令,选择线两个动作。

实现代码

;自动将选定的线改成设定宽度:
(defun c:lw ()
  (setq w 90) ;设定的线宽
  (setq ln (entsel "\n选择线:"))
  (setq st (cdr (car (cdr (entget (car ln))))))
  (if (equal st "LWPOLYLINE")    
    (command "pedit" ln "W" w "")
    (command "pedit" ln "Y" "W" w "")))

使用方式

首先将该段代码保存为一个文件(如:peditw.lsp),然后在AutoCAD工具菜单中用AutoLisp子菜单加载程序,就可以像普通AutoCAD命令(命令名:lw)一样使用了。

后记

本程序仅是为简化指定工作而实现。如果需要更通用,需要扩展以下两个功能:

  1. 对设定的线宽可以通过设定及读取系统变量(如PLine的线宽系统变量)来实现,就可实现修改任意自定义线宽。
  2. 增加 (equal st “LWPOLYLINE”) 部分的比较范围,可实现修改任意线(SPline线等不能修改为PLine线的除外)为指定宽度。

有兴趣的朋友们可以去进一步完善。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值