找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 792|回复: 9

[LISP程序]:高手请进!!!

[复制链接]
发表于 2005-9-1 13:03:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
(princ "\npee,用于合并线条!")
(defun C:pee(/ a n)
(princ "\n请选择你要合并的线条!")
(setq a (ssget))
(setq n (sslength a))
(command "pedit" a "y" "j" "all" "" "")
(princ "\n有")(princ n)(princ "个线条被合并!")
(princ)
)

为什么用于合并多义线,会出错!

还要请教两个问题,
怎么返回一个实体的面积,
怎么返回两条多义线的交点!
感谢!

返回面积,我的找到了
怎样返回两条多义线的交点!
高手们在哪里,拉我一把啊!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 111个

财富等级: 日进斗金

发表于 2005-9-1 14:42:27 | 显示全部楼层
1. 所选择的图元中有不是直线(图元名为"LINE")、圆弧(l图元名为"ARC")、轻量多义线(图元名为"LWPOLYLINE")之一的图元存在。
2. 两多义线的交点,请到http://mjtd.com/index.html里面查找。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-1 15:21:41 | 显示全部楼层
(defun hy_GetInters (Fst Nxt Mde / IntLst PntLst);;?两图元交点
(cond ((= (type Fst) 'ENAME) (SETQ Fst (vlax-ename->vla-object Fst)))
       ((= (type Fst) 'VLA-OBJECT) (SETQ Fst Fst))
       (t (setq olderror *error*)))
(cond ((= (type Nxt) 'ENAME) (SETQ Nxt (vlax-ename->vla-object Nxt)))
       ((= (type Nxt) 'VLA-OBJECT) (SETQ Nxt Nxt))
       (t (setq olderror *error*)))
(setq IntLst (vlax-invoke Fst 'IntersectWith Nxt Mde))
(cond
  (IntLst
   (repeat (/ (length IntLst) 3)
    (setq PntLst (cons
                  (list
                   (car IntLst)
                   (cadr IntLst)
                   (caddr IntLst)
                  )
                  PntLst
                 )
          IntLst (cdddr IntLst)
    )
   )
   (reverse PntLst)
  )
  (T nil)
)
)

;   Fst = First object
;   Nxt = Second object
;   Mde = Intersection mode [INT]
;         Constants:
;         - acExtendNone ...(或者 0)       不延伸
;         - acExtendThisEntity ...(或者 1)    延伸第一个物体
;         - acExtendOtherEntity...(或者 2)     延伸第二个物体
;         - acExtendBoth ...(或者 3)           两个物体都延长
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-1 18:35:18 | 显示全部楼层
感谢!
直线,跟圆都没问题,但有LWPOLYLINE时就会出错,赐教!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-1 19:56:05 | 显示全部楼层
楼上糊涂了:(command "pedit" a "y" "j" "all" "" "") 当是LWPOLYLINE时就没有"y"了,所以要加个判断才行.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-1 19:59:30 | 显示全部楼层
和现成的程序比较,也是学习。
你在论坛里用“合并”或者“pedit”搜索,这样功能的程序已经很多,
和它们比较一下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-1 20:12:31 | 显示全部楼层
一语惊醒梦中人,呵呵,太感谢,困扰我好几天的问题目,太感谢!
大虾们,再请教一个问题,
比如我选择N条抛物线,我将其炸开成若干小线段,现在我怎么把炸开后的小线段添加到某个选择集中!
改好了,现在应该没问题了,请大家指教一下!
(princ "\npee,用于合并线条!Writen by lyc in 2005.08")
(defun C:pee(/ a n s1 s2 i x m b va nu)
(princ "\n请选择你要合并的线条!")
(setq a (ssget))
(setq n (sslength a))
(setq i 0)(setq nu 0)
(setq x (ssname a 0))
(setq m (entget x))(setq b (assoc 0 m))
(setq va (cdr b))
(if (= "LINE" va ) (setq nu (+ nu 1)))
(if (= nu 0) (command "pedit" a "j" "all" "" "") (command "pedit" a "y" "j" "all" "" ""))
(princ "\n有")(princ n)(princ "个线条被合并!")
(princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-1 21:17:37 | 显示全部楼层
7楼楼主说:
比如我选择N条抛物线,我将其炸开成若干小线段,现在我怎么把炸开后的小线段添加到某个选择集中?


(COMMAND ".SELECT" "P")或(SSGET "P")
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-1 21:57:52 | 显示全部楼层
我上次也有碰到如此问题,谢谢楼上的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-2 12:53:45 | 显示全部楼层
感谢8楼,还是一个问题,为什么反过就不行,
即,我把N个线段连成一条多义线,我怎样把这条多义线加到选择集中!
哦,找到了,L就行了,唉,太弱了我!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-28 12:41 , Processed in 0.414101 second(s), 50 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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