明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3000|回复: 5

请问怎么编写这个LISP

[复制链接]
发表于 2004-3-9 14:52:00 | 显示全部楼层 |阅读模式
有一幅图,里面有许多要用到TRIM的,就是想把多出来的边支修剪,虽然用TRIM可以用,但是多,比较麻烦,我对LISP一点都不懂,不知道谁是否可以编写一下,目的就是想方便的修剪多余支

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2004-3-9 20:23:00 | 显示全部楼层
是不是无法编写吗?我是真的不懂也
 楼主| 发表于 2004-3-10 00:12:00 | 显示全部楼层
呜~~~~~~~~~~~~~~~
发表于 2004-3-10 08:10:00 | 显示全部楼层
用extrim試試!
发表于 2004-3-18 19:59:00 | 显示全部楼层
试试看 (defun kx ( / )
(prompt "\n请点取两点框选要剪取的图形....")
(setq p1 (getpoint "\n请输入框选的第一角点:"))
(setq p2 (getcorner p1"\n请输入框选的第二角点:"))
(setq s (ssget "c" p1 p2))
(setq i 0)
(repeat (sslength s)
(setq t (entget (ssname s i)))
(if (= (cdr (assoc 0 t)) "LINE")
(setq xe (cadr (assoc 11 t))
ye (caddr (assoc 11 t))
)
)
(if (= (cdr (assoc 0 t)) "LWPOLYLINE")
(setq xe (cadr (NTH 16 t))
ye (caddr (NTH 16 t))
)
)
(progn
(setq xs (cadr (assoc 10 t))
ys (caddr (assoc 10 t))
)

(setq tp1 (list xs ys)
tp2 (list xe ye)
)
(setq cp (inters p1 p2 tp1 tp2 onseg))
(setq d1 (distance tp1 cp)
d2 (distance tp2 cp)
)
(if (< d1 d2)
(setq trimp 10)
(progn
(if (= (cdr (assoc 0 t)) "LINE")
(setq trimp 11)
)
(if (= (cdr (assoc 0 t)) "LWPOLYLINE")
(setq trimp 16)
)
)
)
(setq ip (inters edgep1 edgep2 tp1 tp2))
(if (/= ip nil)
(progn
(setq mp (list trimp (car ip) (cadr ip)))
(if (= (cdr (assoc 0 t)) "LINE")
(setq t (subst mp(assoc trimp t) t))
)
(if (= (cdr (assoc 0 t)) "LWPOLYLINE")
(setq t (subst mp(nth trimp t) t))
)
(entmod t)
)
)
(setq i (+ 1 i))
)
)
)

(defun C:MTRIM()
(graphscr)
(setvar "CMDECHO" 0)
(setq edge (entsel "\n请点取边界线!"))
(setq a (entget (car edge)))
(if (= (cdr (assoc 0 a)) "LINE")
(progn
(setq edgep1 (list (cadr (assoc 10 a)) (caddr (assoc 10 a))))
(setq edgep2 (list (cadr (assoc 11 a)) (caddr (assoc 11 a))))
(kx)
)
(prompt "\n请选择线图元!!")
)
(if (= (cdr (assoc 0 a)) "LWPOLYLINE")
(progn
(setq edgep1 (list (cadr (assoc 10 a)) (caddr (assoc 10 a))))
(setq edgep2 (list (cadr (NTH 16 a)) (caddr (NTH 16 a))))
(kx)
)
(prompt "\n请选择线图元!!")
)
)
发表于 2012-12-10 09:16:22 | 显示全部楼层
新手,为什么不能运行?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-2-4 11:57 , Processed in 0.183503 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表