QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
goto3d 说: 此次SW竞赛获奖名单公布如下,抱歉晚了,版主最近太忙:一等奖:塔山817;二等奖:a9041、飞鱼;三等奖:wx_dfA5IKla、xwj960414、bzlgl、hklecon;请以上各位和版主联系,领取奖金!!!
2022-03-11
全站
goto3d 说: 在线网校新上线表哥同事(Mastercam2022)+虞为民版大(inventor2022)的最新课程,来围观吧!
2021-06-26
查看: 8704|回复: 11
收起左侧

[原创] 连接多段线程序(LISP)

[复制链接]
发表于 2006-7-9 18:35:03 | 显示全部楼层 |阅读模式

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

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

x
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$ P6 B  C  ^3 {" q, r0 F0 v
;;                                  ;;
. B! G* T" M; S- V* _( }0 ?3 K- o;;          连接多段线程序          ;;
% w' i- o, N6 T  m; ~- \! o( d;;                                  ;;% b+ F5 \- }" G* Z% i
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;) v$ k: |3 ^- M# A1 d
;;MYCAD V3, HZH2000,2005.6.12 " U: {4 ~; K0 g  }- M
(defun c:line_link(); F% q/ H. |  N& x- w
  (setvar "CMDECHO" 0)2 y1 c. A' o* u7 l5 Z( J
  (setq ss nil)2 i! i  U7 d( P4 \  B8 Q
  (prompt "\n请选择所有要连接的多段线、直线或圆弧: ")  
6 ^. Q" j( I4 B" U  (setq ss (ssget '((0 . "[~B . C-K . M-Z]*"))))! d/ b  d; t7 d; ]- j9 g8 @5 v
  (command "undo" "begin")
/ _8 H% |/ N& a  F; L6 b  J- j  
' {6 M6 ~" t1 c" h! q7 Y: G+ A# f  (setq iss 0)
* b) v, r! @0 b3 q/ a  (setq jss 0)  
7 H& h/ p: j# p1 X  T; B% u  (while (< iss (sslength ss) )
. E9 X, e/ ?# N, w# J    (setq en (ssname ss iss))) U  J7 A6 P2 B0 o! m8 T
    (setq ed (entget en))! _/ T8 ~% v" z9 ^$ j+ m/ C
    (setq e_type (cdr (assoc '0 ed)))
! N/ }7 N$ {9 p7 z/ e6 f/ P( T) |    (if (= (cdr (assoc '70 ed)) 1)4 A3 t9 n/ ?8 O
        (ssdel en ss)$ ?* H4 P: R) ~& ^9 D3 P7 X
        (setq iss (+ 1 iss))6 F- C, L7 _9 N  J- {1 k2 v, j
    ), ]! u- w, ?* |( e
   
+ ^+ t8 q* O/ L. |- F    (if (/= e_type "LWPOLYLINE")% U1 ], Q. h; o9 _" K5 G# A% f
        (setq jss 999)]; j  Z& x0 @. s6 m9 G
    )   ) C( v8 C0 L+ }2 n; n* \: `* |
  )
* @, {! {: K1 R6 N  }/ p0 ?  
! S( j# K. B6 f$ S1 g  (if (= jss 0)      
/ P5 f2 b: e; w' j# U1 l; q      (command "pedit" "M" ss "" "J" "" "" )1 g& `- F: I( V( s. \
      (command "pedit" "M" ss "" "y" "J" "" "" )
: s% K. g' w, Q$ K7 ~  )2 ~* y/ \- c* I' j0 {2 W) w
  (command "undo" "end")
- t6 \$ O4 p- L( g1 F  (princ "\n 连接完成!")
. G, f' s% l; N  ~" r  (princ)
7 P/ ]" m" Q/ ?1 J& ~4 I8 a )
发表于 2006-7-9 18:48:48 | 显示全部楼层
还要这样吗?" t" {& n' X% o! c
不是有自带的连接功能嘛!3 T6 H2 J0 y6 p* r5 j2 @
修改/对象/多线段,按命令提示输入M后回车,Y回车,不就完了,还用得着编一个小程序吗?
发表于 2006-9-2 09:59:09 | 显示全部楼层

连接多段线程序(LISP)

在CAD里面输入命令PE,回车& X9 s- [& G- ?( o$ x  W
选定的对象不是多段线
% W' D. {- F  G' w是否将其转换为多段线? <Y>回车
; p. I: Z; B* g& h. U输入选项
! c. [) B; @( |+ E/ f* z, L[闭合(C)/合并(J)/宽度(W)/编辑支持楼主点(E)/拟合(F)/样条曲线(S)/非曲线化(D)/线型生成(L)) R9 [% w) L; ?
/放弃(U)]: j回车
' c/ |7 @# K/ S6 G选择对象: 可以框选(定对角点: 找到 4 个)也可以一个个选,选取好后,回车.
) ?; S+ R7 [0 S+ _) Y! P选择对象:. P9 C& t' C# z" l
3 条线段已添加到多段线9 P0 k3 |  O& v/ @1 H/ A
经过这样的操作就可以将多段线连成一条了
发表于 2006-9-2 12:25:31 | 显示全部楼层
3楼的方法很好,简单好用,我试了,谢谢。
发表于 2006-9-14 10:54:35 | 显示全部楼层

帮帮我好吗?

原帖由 bozh79 于 2006-7-9 18:48 发表
8 u  }5 i! ~- R还要这样吗?) h0 O( F% t  k: ~9 ~3 l
不是有自带的连接功能嘛!) s1 V2 J) I& N
修改/对象/多线段,按命令提示输入M后回车,Y回车,不就完了,还用得着编一个小程序吗?

% w; h. t. g0 F) c我划线时常常发现直线和曲线怎么老连不上不能变成一条多段线呀?
发表于 2006-10-31 23:39:31 | 显示全部楼层
是这样的 谢谢啦
发表于 2007-2-9 10:23:02 | 显示全部楼层
楼主没有交代程序放在那才能运行!
发表于 2010-1-19 13:59:00 | 显示全部楼层
简化我PE的输入命令 谢谢啦
发表于 2010-2-1 16:10:33 | 显示全部楼层
什么用命令啊..用命令太烦了啊...
7 B& z* B# w% z% d# l+ v不过不知道这个程序好不好用....先试试用...
) l1 ^8 _. F; M& Z9 {3 Q" i8 c" P) z, t
我觉得目前比较好用的就是贱人工具箱的.连接功能.... r* x, q0 T- A; |
: x- @% q) u0 y. k# q$ w
我经常用...特别是旋转实体时,大家应该知道吧.都要求是闭合图形的..烦死了.." ]6 k3 y+ z. a
$ y0 j# C$ R3 X$ f; j& }
不过.现在问题来了,有的时候,即使有限公司.0001的小间隙,都连接不起来..真讨厌啊..
1 B2 i; q2 s2 p& x9 B5 {$ f7 J4 l/ h6 N: w* P$ V0 Y
如果能设置一下兼容值,比如兼容0.1以下的尺寸.全部耦合.那用起来不是更方便吗..
发表于 2010-2-2 12:13:34 | 显示全部楼层
Command: pe
! m+ {7 A8 v9 w. S6 ?PEDIT Select polyline or [Multiple]: m
/ {+ R2 i; ^' b8 j: o0 BSelect objects: Specify opposite corner: 946 found
( Z& \0 y0 s7 V0 VSelect objects:
0 I3 A- n6 _" @Convert Lines and Arcs to polylines [Yes/No]? <Y>/ q+ }) x3 c2 K/ k  x$ s+ f- Y5 ]6 S
Enter an option [Close/Open/Join/Width/Fit/Spline/Decurve/Ltype gen/Undo]: j
0 N5 ?2 X0 w8 {Join Type = Extend. s3 b+ s+ W3 W0 [% |! C
Enter fuzz distance or [Jointype] <0.000>: 0.0001   ;<=== 容差

评分

参与人数 1三维币 +3 收起 理由
woaishuijia + 3 技术讨论

查看全部评分

发表于 2010-6-4 22:00:32 | 显示全部楼层
学习了。
发表于 2010-7-8 12:44:44 | 显示全部楼层
希望能点一下就能够串连接起来的程序
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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