QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 9088|回复: 11
收起左侧

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

[复制链接]
发表于 2006-7-9 18:35:03 | 显示全部楼层 |阅读模式 来自: 中国安徽芜湖

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

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

x
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" h( j2 w: j# J. u$ W
;;                                  ;;
" o9 ?$ j: B/ H$ n0 Y: u;;          连接多段线程序          ;;& p" J1 T  A& S7 B# m
;;                                  ;;8 \) Z6 r0 q4 R  i/ {0 {# T
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9 a0 k. F& ~  T0 U6 S. D
;;MYCAD V3, HZH2000,2005.6.12 ' M8 Z  S% X1 e  k8 l+ S# }
(defun c:line_link()
3 |0 n* g, e4 u7 M4 H  (setvar "CMDECHO" 0)
) a9 u$ f9 q) e. x1 J  (setq ss nil)$ k* U6 m# W/ H0 {: E' e/ t% T9 W
  (prompt "\n请选择所有要连接的多段线、直线或圆弧: ")  
+ G4 E$ P; z- S. A8 J  (setq ss (ssget '((0 . "[~B . C-K . M-Z]*"))))
8 K1 x# N0 ]5 Z: d  (command "undo" "begin")! t: U! Z' w# d* J1 a& d, ]* z5 f! |
  . Y& D  r3 r, @4 s3 \( h, M
  (setq iss 0)8 M7 j8 y" [2 z, Y& L" ]7 c- L
  (setq jss 0)  . W3 h% S2 O& F$ f6 N
  (while (< iss (sslength ss) )
/ l. W2 s3 s% p( G9 m    (setq en (ssname ss iss))* R3 A% J* f3 O  q. P
    (setq ed (entget en))
$ O! u5 [9 _/ L; c2 K+ i( A    (setq e_type (cdr (assoc '0 ed)))4 U- _7 S; ?& q
    (if (= (cdr (assoc '70 ed)) 1)
; J# d7 O0 M/ F, m; j! ?5 V8 O+ q6 K        (ssdel en ss)
0 ?% r2 G$ l" t: x        (setq iss (+ 1 iss))
# t! M0 e: r1 E: ^  K% b    )
! N3 l9 ~) U! q1 e) R+ G( r   
8 O6 s1 E) x; }& P) g2 W    (if (/= e_type "LWPOLYLINE")- [3 D$ n, i( d; x9 T& Y. a& u6 Z
        (setq jss 999)]. R2 ]9 j8 l7 k. W$ W
    )   5 I+ ^, T6 Q7 d" p9 H6 n
  )
: i2 p: C6 J! P  h$ j* T+ K6 C  : ]) X; m4 s2 ?, G
  (if (= jss 0)      
) W& l/ M  i3 _. Z      (command "pedit" "M" ss "" "J" "" "" )' y5 G1 X5 c* D$ k; r
      (command "pedit" "M" ss "" "y" "J" "" "" )
0 e4 ?6 Z9 E3 v. P; l  )
& G7 |. a+ F: v  a. P  J6 G  (command "undo" "end")
- e3 |# ^2 n& a- ?' ]  (princ "\n 连接完成!")
; u" V2 L( ~- y: X& H# ]  (princ)
, V, B; G" h6 `4 t+ o9 T )
发表于 2006-7-9 18:48:48 | 显示全部楼层 来自: 中国新疆乌鲁木齐
还要这样吗?4 y; a: L" W1 w9 x- t/ Y0 w
不是有自带的连接功能嘛!6 u, g2 _* D/ o$ w; v
修改/对象/多线段,按命令提示输入M后回车,Y回车,不就完了,还用得着编一个小程序吗?
发表于 2006-9-2 09:59:09 | 显示全部楼层 来自: 中国广东深圳

连接多段线程序(LISP)

在CAD里面输入命令PE,回车
( o6 f/ Q. [0 X/ `. Y选定的对象不是多段线1 W: n) r7 S; X- `" H
是否将其转换为多段线? <Y>回车; N' t- n. X* f1 Q5 v5 \* C
输入选项 ; x6 N- ~& Y6 E: ]0 |3 c& X
[闭合(C)/合并(J)/宽度(W)/编辑支持楼主点(E)/拟合(F)/样条曲线(S)/非曲线化(D)/线型生成(L)
* I6 `) `0 l, S1 v" C/放弃(U)]: j回车3 F* V2 E8 N  N- u3 m# D
选择对象: 可以框选(定对角点: 找到 4 个)也可以一个个选,选取好后,回车.
$ M" L2 F2 n. O: i# I3 a选择对象:: o* C) S9 w' p  ]
3 条线段已添加到多段线" q3 [1 C0 _1 I7 W* q3 \8 z
经过这样的操作就可以将多段线连成一条了
发表于 2006-9-2 12:25:31 | 显示全部楼层 来自: 中国广东汕头
3楼的方法很好,简单好用,我试了,谢谢。
发表于 2006-9-14 10:54:35 | 显示全部楼层 来自: 中国上海

帮帮我好吗?

原帖由 bozh79 于 2006-7-9 18:48 发表' @! K( c& y. N/ L$ _+ r
还要这样吗?
7 k5 k5 i- w, V4 B9 Y% ]8 Z5 m不是有自带的连接功能嘛!7 ^9 A8 w' f# X& d/ C6 j* z
修改/对象/多线段,按命令提示输入M后回车,Y回车,不就完了,还用得着编一个小程序吗?
" s) D0 h% Y& [# r8 u" Q) N
我划线时常常发现直线和曲线怎么老连不上不能变成一条多段线呀?
发表于 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 | 显示全部楼层 来自: 中国江苏无锡
什么用命令啊..用命令太烦了啊...
5 Q/ s. U0 y/ l% |; I不过不知道这个程序好不好用....先试试用..., z7 j+ x6 B' h( M6 w1 L

5 w* Z* _2 \2 d6 ^2 ]1 N" U& W我觉得目前比较好用的就是贱人工具箱的.连接功能...7 |3 V" {9 }+ A( S/ j
1 Z+ a7 m, `  s# S
我经常用...特别是旋转实体时,大家应该知道吧.都要求是闭合图形的..烦死了..% w8 n9 g8 @6 g+ c

% g# `5 }( `! h' Q! x) L( B不过.现在问题来了,有的时候,即使有限公司.0001的小间隙,都连接不起来..真讨厌啊..2 ^) r5 _8 W! s4 i8 X8 s  Y/ W8 o
6 h9 t( U' X6 y: d# A8 U
如果能设置一下兼容值,比如兼容0.1以下的尺寸.全部耦合.那用起来不是更方便吗..
发表于 2010-2-2 12:13:34 | 显示全部楼层 来自: 中国台湾
Command: pe
* o2 S& c% J  u, O5 XPEDIT Select polyline or [Multiple]: m
3 z, |% Q: J  i# _; p- a! j/ N" RSelect objects: Specify opposite corner: 946 found( N5 D' Q# W0 i0 m3 n; E
Select objects:8 V8 T/ D1 x. I
Convert Lines and Arcs to polylines [Yes/No]? <Y>$ g6 T4 M& S3 |- W
Enter an option [Close/Open/Join/Width/Fit/Spline/Decurve/Ltype gen/Undo]: j1 K4 E1 s6 N) S; B* z0 ^5 f% t0 O" o
Join Type = Extend4 B8 G+ O/ p, i) W9 ~  [$ f
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 )

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