HELP! 求一个删除多余线条的LISP!  内容加载中,请稍后...
CAD家园 
CAD家园
生活因感动而精彩,理想在创造中放飞!
HELP! 求一个删除多余线条的LISP!
作者:cad 提交日期:2008-11-20| 分类: | 访问量:




HELP! 求一个删除多余线条的LISP!

本帖被 tandongchi 执行取消锁定操作(2007-09-15) 求快速剪切多余线的LISP! 高手出招!
      兄弟在绘图时经常遇到四条平行相交的直线!我要用F命令倒0角四次!才能删除多的线条,得到一个矩形!请有没有那位大侠有这样的LISP:只要一次框选就能删除多余的线条,得到一个矩形!
                          谢谢!我真的很需要!
             

              如果我的表达不是很清楚!有个附件可供参考!




附件: 在绘图经常遇到四条相交的直线.doc (137 K) 下载次数:3

Trim --> 选四线--> F -->绕一圈
or
Command: -boundary

Specify internal point or [Advanced options]: Selecting everything...
Selecting everything visible...
Analyzing the selected data...

Analyzing internal islands...

Specify internal point or [Advanced options]:

BOUNDARY created 1 polyline
Command: e
ERASE
Select objects: Specify opposite corner: 5 found

Select objects: r

Remove objects: l
1 found, 1 removed, 4 total

Remove objects:
=======================
是用在处理冲头套件吗?
我们用的套装软体可以直接产生各层部件(含下料孔)
这个功能用法现己少用了


[ 此贴被andyes在2007-09-09 16:44重新编辑 ]

这个不管用!1楼没有明白我的意思!

能否把你的传给我用下!我的邮箱是MINGVICTOR@163.com

图片:
;;; 仅供测试用
;;; for test only
(defun c:prueba ()
  ;; 借用Boundary
  (bpoly (getpoint"\n请用鼠标指向四方框的内部: "))
  (vl-cmdf "Erase"
    (apply 'ssget
      (append
        (list "C")
        (acet-ent-geomextents (entlast))
        '(((0 . "LINE")))
    ) )
    ""
  )
  (princ)
)


[ 此贴被andyes在2007-09-09 22:10重新编辑 ]

我用lisp编制了一个程序,只要在矩形的中间点一点,由程序去给你倒角,程序如下:

(defun c:fff (/ p1 p2 p3 p5 p6 p7 pp1 pp2 pp3 pp4 pp5 pp6 pp7 dd ddd ggg gg g dd1)
  (setq p1 (getpoint "在要剪的图形的中间点一下:") p2 (polar p1 0 2000) ddd nil pp4 nil dd nil) ;2000的数字可调整
  (setq en (ssget "c" p1 p2) s (sslength en) i 0 p5 nil)
  (command "fillet" "r" "0" )
  (repeat s
    (setq een (entget (ssname en i)) pp1 (cdr (assoc 10 een)) pp2 (cdr (assoc 11 een)) i (+ i 1) )
    (setq p3 (inters p1 p2 pp1 pp2) dd (distance p1 p3))
    (setq d (read (strcat "dd" (itoa i))) )
    (setq c2 'd c2 dd)
    (set d dd)
    (if (= ddd nil)(setq ddd dd1)(setq ddd (min ddd dd)))
)
(setq p5 (polar p1 (* pi 0.5) 2000) )
(setq en (ssget "c" p1 p5) s (sslength en) i 0 ggg nil)
(repeat s
  (setq een (entget (ssname en i)) pp1 (cdr (assoc 10 een)) pp2 (cdr (assoc 11 een)) i (+ i 1) )
  (setq p5 (inters p1 p5 pp1 pp2) dd (distance p1 p5))
  (setq d (read (strcat "dd" (itoa i))) )
  (setq c2 'd c2 dd)
  (set d dd)
  (if (= ggg nil)(setq ggg dd1)(setq ggg (min ggg dd)))
)
(setq pp4 (polar p1 0 ddd) pp5 (polar p1 (* pi 0.5) ggg))
(command "fillet" pp4 pp5)
(setq p6 (polar p1 (* pi 1.5) 2000) )
(setq en (ssget "c" p1 p6) s (sslength en) i 0 gg nil)
(repeat s
  (setq een (entget (ssname en i)) pp1 (cdr (assoc 10 een)) pp2 (cdr (assoc 11 een)) i (+ i 1) )
  (setq p5 (inters p1 p6 pp1 pp2) dd (distance p1 p5))
  (setq d (read (strcat "dd" (itoa i))) )
  (setq c2 'd c2 dd)
  (set d dd)
  (if (= gg nil)(setq gg dd1)(setq gg (min gg dd)))
)
(setq pp6 (polar p1 (* pi 1.5) gg))
(command "fillet" pp4 pp6)
(setq p7 (polar p1 pi 2000) )
(setq en (ssget "c" p1 p7) s (sslength en) i 0 g nil)
(repeat s
  (setq een (entget (ssname en i)) pp1 (cdr (assoc 10 een)) pp2 (cdr (assoc 11 een)) i (+ i 1) )
  (setq p5 (inters p1 p7 pp1 pp2) dd (distance p1 p5))
  (setq d (read (strcat "dd" (itoa i))) )
  (setq c2 'd c2 dd)
  (set d dd)
  (if (= g nil)(setq g dd1)(setq g (min g dd)))
)
(setq pp7 (polar p1 pi g))
(command "fillet" pp7 pp6)
(command "fillet" pp7 pp5)
)

感谢二位!感谢二位的无私指教!

本程序只对矩形修边。能达到楼主的要求。
(defun c:ff (/ en gg gg1 gg2 gg3 p1 p2 p3 p4 p5 p6 p7 p8 pp1 pp2 pp3 pp4)
  (setq en (ssget ))
  (setq gg (entget (ssname en 0)) p1 (cdr (assoc 10 gg)) p2 (cdr (assoc 11 gg)) an1 (angle p1 p2))
  (setq gg1 (entget (ssname en 1)) p3 (cdr (assoc 10 gg1)) p4 (cdr (assoc 11 gg1)) an2 (angle p3 p4))
  (setq gg2 (entget (ssname en 2)) p5 (cdr (assoc 10 gg2)) p6 (cdr (assoc 11 gg2)) an3 (angle p5 p6))
  (setq gg3 (entget (ssname en 3)) p7 (cdr (assoc 10 gg3)) p8 (cdr (assoc 11 gg3)) an4 (angle p7 p8))
  (command "fillet" "r" "0" )
  (setq pp1 (polar p1 an1 (/ (distance p1 p2) 2.0)) a nil)
  (setq pp2 (polar p3 an2 (/ (distance p3 p4) 2.0)))
  (setq pp3 (polar p5 an3 (/ (distance p5 p6) 2.0)))
  (setq pp4 (polar p7 an4 (/ (distance p7 p8) 2.0)))
  (if (and (= a nil)(/= (inters p1 p2 p3 p4) nil))(command "fillet" pp1 pp2)
    (if (= a nil)(progn (setq a 1 )(command "fillet" pp1 pp3 "fillet" pp1 pp4 "fillet" pp2 pp3 "fillet" pp2 pp4))))
  (if (and (= a nil)(/= (inters p5 p6 p3 p4) nil))(command "fillet" pp2 pp3)
    (if (= a nil)(progn (setq a 1 )(command "fillet" pp2 pp4 "fillet" pp1 pp2 "fillet" pp1 pp3 "fillet" pp3 pp4))))
  (if (and (= a nil)(/= (inters p5 p6 p7 p8) nil))(command "fillet" pp3 pp4)
    (if (= a nil)(progn (setq a 1 )(command "fillet" pp1 pp3 "fillet" pp3 pp2 "fillet" pp4 pp1 "fillet" pp2 pp4))))
  (if (and (= a nil)(/= (inters p7 p8 p1 p2) nil))(command "fillet" pp1 pp4)
    (if (= a nil)(progn (setq a 1 )(command "fillet" pp1 pp3 "fillet" pp1 pp2 "fillet" pp3 pp4 "fillet" pp2 pp4))))
  (princ)
)

To: andyes at 4 floor

代码非常漂亮,简洁.
请教如何得到有关(acet-ent-geomextents ename)之类函数的介绍资料.
email:  zhangyunfei@sit.edu.cn
多谢

都来是真的了,又有得学了  

Re:To: andyes at 4 floor

Quote:
...有关(acet-ent-geomextents ename)之类函数的介绍资料....


http://www.jtbworld.com/download/acetutil.zip

Re:Re:To: andyes at 4 floor

Thanks!
45 functions additional I got.

本文摘自:http://www.jxcad.com.cn/read.php?tid=410626&fpage=2

问题没解决?请到"CAD家园"查找或求助!

Google
 


阅读全文 | 回复(0) | 引用通告 | 编辑


作者:游客
输入您的评论:(不支持HTML标签)

段首缩进两个汉字:


  
个人档案
文章分类
企业管理与质量体系(4019)

建筑标准区(2817)

已应助标准区(17707)

标准资料攻关区(30)

资料教程区(168)

精品教程区(95)

UG习题区(95)

Solidworks插件学习区(96)

Solidworks习题及画法区(95)

模型及标准件库区(24)

Pro/E教程区(94)

加分习题区(95)

Pro/E二次开发(96)

习题区(62)

练习提高区(94)

资料教程区(96)

作品展示及模型专区(96)

焦点专区(96)

AutoCAD 二次开发专区(96)

画法几何及习题专区(96)

图纸专区(95)

资料区(95)

资料区(96)

起重机交流区(96)

冶金设备资料图纸共享专区(95)

钢铁新闻(90)

资料区(53)

资料区(96)

资料区(96)

习题区(35)

资料区(97)

资料区(96)

液压气动仿真(91)

轴承专版(92)

资料区(97)

涉世之初(95)

已答复区(95)

技术求助, 应助 技术心得, 探讨(91)

Technical English(or other languages) Forum(103)

基础理论(95)

手册区(93)

机械零部件、机构、装置、设备设计、制造及应用专区(93)

工程材料(95)

金属热处理(96)

机械冷加工(95)

资料区(95)

液压气动、液力传动与控制、仿真设计等资料(95)

五金模具设计(96)

金属板料成形专版(95)

塑胶模具设计(95)

特种加工(96)

橡胶与工程塑料(96)

化工机械、管道与压力容器专版(4209)

汽车技术专版(12590)

齿轮类零件及减(增)速机设计、制造及应用专区(5305)

电子(电气)、电力系统专业基础知识、应用技术、技术经验、资料交流(14173)

钢铁、冶金技术(12883)

重型机械装备(2798)

数控技术(2688)

清洁能源(93)

AutoDesk技术、教程、资料交流区(17459)

Inventor设计应用专区(4595)

Catia技术、教程、资料交流区(2329)

CAXA技术、教程、资料交流专区(3870)

KM开目技术、教程、资料交流专区(403)

Pro/E技术、教程、资料交流区(11947)

SolidWorks 技术、教程、资料交流区(9523)

TH天河技术、教程、资料交流专区(1635)

UGS技术、教程、资料交流区(7596)

建筑设计CAD专区(1629)

逆向工程技术、教程、资料交流专区(902)

其它CAX软件交流区(533)

ANSYS系列软件技术资料交流区(6590)

ABAQUS软件技术资料交流区(650)

CFD软件技术资料交流区(851)

MSC 系列软件技术资料交流区(2509)

疲劳, 断裂力学, 可靠性及钢结构软件技术资料交流专区(831)

科学, 工程计算专版(533)

其它 CAE软件技术资料交流区(1334)

Cimatron技术、教程、资料交流区(726)

MasterCAM技术、教程、资料交流区(1932)

PowerMill技术、教程、资料交流区(402)

其它 CAM软件技术资料交流区(436)

标准资料求助板块(1215)

国内标准共享版块(19074)

国外标准共享版块(10434)

标准手册区(1766)

标准库(112)

标准件、非标准件图形图库专区(951)

Copyright © 2008.01.06 design| CAD家园   生活因感动而精彩,理想在创造中放飞