2006年12月10日星期日

一个梁柱交接位置的直线修剪lisp程序

今天,在这里灌了一篇水
http://www.xdcad.net/forum/showthread.php?s=&threadid=562316&pagenumber=2

以前编过一个14版的圆,多边形内的直线批量修剪程序。
由于代码编写比较乱,一直想用vlisp重新写一下。
期间学习
aeo版主的“自动扩展修剪”(利用xdapi)
eachy兄的”利用ET中的FS写的一个简单的修剪内部线 “(利用et的fastsel)
snsj兄的“图形切割程序”(利用et的extrim)
...............................................................
受益颇多。
也想锻炼一下能否用vlisp,不用extrim编写相关程序。顺带问一下,为什么extrim在运行的时候会屏幕闪一下,有点像zoom的情况呢。
近日仔细阅读了John Uhden(John Uhden:写了不少用@开头的通用函数,http://www.cadlantic.com/)的trimlineinside函数之后,在其代码的基础上(原代码占80%以上比重)写下了如下的一段代码,用于修剪圆,文字,lwpolyline多边形。其原函数可以在其网站上下到,主要是考虑一个boundary和一个Line进行剪切处理,没有考虑线直接穿过boundary的情况,本代码主要加了这个部分,添加了文字的处理和多边形内部的erase清理的内容。在此多谢John Uhden。
其实我主要利用后两者来进行我们结构专业的梁柱交接处的修剪问题。命令为test.
刚刚发现这个程序的作用和eachy兄的这个程序有点类似,于是跟帖在这里了,eachy版主别怪:)
程序缺陷:对于凹多边形,直线的两段在凹多边形内部等几种情况会出现问题

代码这里不能缩进,可以看原文

图象: