ooohen 发表于 2008-11-23 23:26:00
可否也给我一个啊,谢谢,我的邮箱l.z.yang@163.comzhl0123321 发表于 2008-11-24 22:16:00
谢谢,我的邮箱<a href="mailto:zhl0123321@sohu.com">zhl0123321@sohu.com</a>mjz521yy 发表于 2008-11-25 12:15:00
楼上兄弟,我的邮箱<a href="mailto:zhaoyang521yy@126.com"><font color="#000000">zhaoyang521yy@126.com</font></a>,也给我发一个吧……谢谢AMTONNY 发表于 2008-11-25 22:36:00
支持原创,支持共享,可否发原码上来共享呀samshs 发表于 2008-12-5 13:54:00
<p>多謝!我的邮箱是: <a href="mailto:samshs@126.com">samshs@126.com</a></p>userzhl 发表于 2008-12-9 00:40:00
为何不共享出来呢?crab3 发表于 2008-12-15 21:36:00
多謝userzhl 发表于 2008-12-17 09:23:00
可否也给我一个啊,谢谢!我的邮箱<a href="mailto:user-zhl@163.com">user-zhl@163.com</a>shenying123 发表于 2009-2-23 12:22:00
兄弟也给我一个啊,谢谢,我的邮箱<a href="mailto:linx1314@gmail.com"><font color="#000000"><a href="mailto:shenying_sy@163.com">shenying_sy@163.com</a></font></a>y@163.comhdlyt11 发表于 2009-2-23 13:59:00
<font face="Courier New">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br/>;;;ZML84制作于2006-12-07<br/>;;;==========================================<br/>;;;全局变量说明:<br/>;;;EDGE_JL 外延距离<br/>;;;==========================================<br/>(defun c:tt (/ S0 S1 PT entl LX<br/> PT0 PT0_OLD PT1 PT1_OLD)<br/> (princ "\n★★超级修剪★★")<br/><br/> (setq CMDECHO_OLD (getvar "CMDECHO")<br/> )<br/> (Setvar "CMDECHO" 0)<br/><br/> (if (or (= EDGE_jl "") (= EDGE_jl nil))<br/>(setq EDGE_jl 5.0)<br/> )<br/> (princ<br/>(strcat "\n当前设置:投影="<br/>(nth (getvar "PROJMODE") '("不投影" "当前UCS" "当前视图"))<br/>",边="<br/>(nth (getvar "EDGEMODE") '("不延伸" "延伸"))<br/>",外延距离="<br/>(rtos EDGE_JL 2 (getvar "LUPREC"))<br/>)<br/> )<br/><br/> (princ "\n选择剪切边...")<br/> (setq S0 (ssget))<br/><br/> (if (= S0 nil)<br/>(princ "\n★未选择边界,即将退出。")<br/>(progn<br/> (setq S1 nil)<br/> (while (or (/= S1 nil)<br/> (/= nil<br/> (progn (initget 4 "P E D U")<br/> (setq pt (GETPOINT<br/> "\n选择要修剪的对象,或 [投影(P)/边(E)/外延距离(D)/放弃(U)]:"<br/> )<br/> )<br/> )<br/> )<br/> )<br/><br/>(cond<br/> ((= pt "P") ;分支一:投影选项设置<br/> (progn<br/>(initget 4)<br/>(SETQ<br/> XX (getint<br/> (strcat<br/>"\n输入投影选项 [无(0)/UCS(1)/视图(2)] <"<br/>(itoa (getvar "PROJMODE"))<br/>">:"<br/> )<br/>)<br/>)<br/>(if (or (= xx 0) (= xx 1) (= xx 2))<br/> (Setvar "PROJMODE" xx)<br/>)<br/> )<br/> )<br/><br/> ((= pt "E") ;分支二:边延伸选项设置<br/> (progn<br/>(initget 4)<br/>(SETQ XX (getint<br/> (strcat<br/> "\n输入隐含边延伸模式 [不延伸(0)/延伸(1)] <"<br/> (itoa (getvar "EDGEMODE"))<br/> ">:"<br/> )<br/> )<br/>)<br/>(if (or (= xx 0) (= xx 1))<br/> (Setvar "EDGEMODE" xx)<br/>)<br/> )<br/> )<br/><br/> ((= pt "D") ;分支三:外延距离选项设置<br/> (progn<br/>(initget 4)<br/>(SETQ XX (getdist<br/> (strcat<br/> "\n输入外延的距离 <"<br/> (rtos EDGE_jl<br/>2<br/>(getvar "LUPREC")<br/> )<br/> ">:"<br/> )<br/> )<br/>)<br/>(if (>= xx 0)<br/> (setq EDGE_jl xx)<br/>)<br/> )<br/> )<br/><br/> ((= pt "U") ;分支四:撤销上一步操作<br/> (command "_.undo" 1)<br/> )<br/><br/> ((listp pt) ;分支五:对选中的对象进行修剪操作<br/> (if (ssget pt)<br/>(progn<br/> (setq s1 (list (ssname (ssget pt) 0) pt))<br/> (setq entl (entget (car s1) '("*"))<br/> LX (dxf_let entl 0)<br/> )<br/><br/> (cond ;对各种对象类型进行操作。<br/>((= LX "LINE")<br/> (progn<br/> (command "_.undo" "be")<br/> (setq pt0_old (dxf_let entl 10)<br/> pt1_old (dxf_let entl 11)<br/> )<br/> (command "_trim" s0 "" s1 "")<br/> (setq entl (entget (car s1) '("*")))<br/> (setq pt0 (dxf_let entl 10)<br/> pt1 (dxf_let entl 11)<br/> )<br/> (if (and (equal pt0 pt0_old)<br/> (equal pt1 pt1_old)<br/> )<br/> (princ "\n★对象未与边相交。")<br/> (progn<br/><br/> (if (not (equal pt0 pt0_old))<br/> ;检查起点<br/> (dxf_set<br/> entl<br/> 10<br/> (polar pt0<br/> (angle pt0 pt0_old)<br/> EDGE_jl<br/> )<br/> )<br/> (if (not (equal pt1 pt1_old))<br/> ;检查终点<br/> (dxf_set<br/> entl<br/> 11<br/> (polar pt1<br/>(angle pt1<br/>pt1_old<br/>)<br/>EDGE_jl<br/> )<br/> )<br/> )<br/> )<br/> (command "_.undo" "e")<br/> )<br/> )<br/><br/> )<br/>)<br/>((= LX "ARC")<br/> (princ (strcat "\n★对象类型为\""<br/>LX<br/>"\",暂不能处理。"<br/>)<br/> )<br/>)<br/>(T<br/> (princ<br/> (strcat "\n★对象类型\""<br/> LX<br/> "\",拒绝操作。"<br/> )<br/> )<br/>)<br/> )<br/>)<br/>(princ "\n★未选择到对象。")<br/> )<br/> ) ;结束 分支五<br/><br/>) ;结束 cond 结束分支<br/><br/>(setq S1 nil)<br/> ) ;结束 while<br/>)<br/> ) ;结束 if<br/><br/> (Setvar "CMDECHO" CMDECHO_OLD)<br/><br/> (princ "\n★正常结束。谢谢使用。")<br/> (princ)<br/>);结束 defun<br/><br/>;;;定义函数,用于提取属性。<br/>(defun dxf_let (ent n)<br/> (if (assoc n ent)<br/>(cdr (assoc n ent))<br/>nil<br/> )<br/>);结束 defun<br/><br/>;;;定义函数,用于修改属性。<br/>(defun dxf_set (ent n nr)<br/> (if (assoc n ent)<br/>(progn<br/> (setq ent (subst (cons n nr) (assoc n ent) ent)<br/> )<br/> (entmod ent)<br/>)<br/>nil<br/> ) ;结束 if<br/>);结束 defun<br/><br/>(princ "\n\n★超级修剪。键入命令\"TT\"执行。")<br/>(princ)</font><br/><font face="Courier New"><a href="http://xzd.2000y.net/mb/1/ReadNews.asp?NewsID=579606">http://xzd.2000y.net/mb/1/ReadNews.asp?NewsID=579606</a></font>