QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 G2 H9 z- X) Y2 O' z7 S;;                                  ;;# Q3 h: ~' o+ h8 w
;;          连接多段线程序          ;;
4 ?: S& Z3 O! Z, [, L;;                                  ;;# j. m8 I7 o' I  m$ Y* g: d
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
, Q9 A* R0 J2 m$ Z5 q1 M, j; s# Y& e;;MYCAD V3, HZH2000,2005.6.12 ( b3 u8 E, q$ R: `/ @& W
(defun c:line_link()
, ~% @# x; c) Y3 Q( E  (setvar "CMDECHO" 0)
6 w  m* O1 t* y5 r; R8 s0 v$ T  (setq ss nil)
! W# ~. L8 e; r' h! B: U  (prompt "\n请选择所有要连接的多段线、直线或圆弧: ")  6 w. Q2 T/ {- |0 F0 A9 b
  (setq ss (ssget '((0 . "[~B . C-K . M-Z]*"))))
, _3 U9 f) U8 E6 ^$ G  (command "undo" "begin")5 Y; a" t( [) S3 I' K
  - u1 Y0 @' Q6 z" ?; b1 g& Q
  (setq iss 0)
4 D4 u8 \3 z" z# v4 m  (setq jss 0)  
; ?# @4 ?  b2 v+ M5 P  (while (< iss (sslength ss) )6 T6 E* |: D& i2 ?; {  N
    (setq en (ssname ss iss))
* e8 f& r- W0 _. {  s6 {    (setq ed (entget en))
7 H8 E! q3 e; @, B5 ?    (setq e_type (cdr (assoc '0 ed)))
3 J* Y1 A7 _% K& V    (if (= (cdr (assoc '70 ed)) 1)
* ~/ n+ D$ F. V# Y$ V5 K        (ssdel en ss)
1 ]& K1 u1 \4 C, h8 ^9 b; Q        (setq iss (+ 1 iss))0 I. d' r# D! \
    )
& P* ^7 _$ `0 h* ~" c    $ z/ o! I- g7 ^* E$ z( J. T0 M2 s& b
    (if (/= e_type "LWPOLYLINE")
" Q( w" q2 c% p! k: m9 v$ k        (setq jss 999)]% j: p5 q# d; _4 d9 {$ k: Y
    )   
0 R' X; m) G# h; B1 w  )9 f/ x6 z2 I0 Y3 h
  ; N9 Q) C0 H. p: ?5 U
  (if (= jss 0)      
6 `- _2 x; z, C6 O% f6 ^0 U& z      (command "pedit" "M" ss "" "J" "" "" )( _. i5 L9 Y1 @) Q! e4 m
      (command "pedit" "M" ss "" "y" "J" "" "" )8 b" x! z( C3 B1 w1 S3 V
  )7 C+ V( q" g5 K% R: T
  (command "undo" "end")
7 p. D/ F$ P: y  (princ "\n 连接完成!")" S- x% d- ?) [: W# L1 m
  (princ)
9 D# q  B; @3 |8 Y1 u )
发表于 2006-7-9 18:48:48 | 显示全部楼层 来自: 中国新疆乌鲁木齐
还要这样吗?; y! B! h4 b* n, Z- x
不是有自带的连接功能嘛!7 Q! \  ^9 [( V; j8 T4 V( J
修改/对象/多线段,按命令提示输入M后回车,Y回车,不就完了,还用得着编一个小程序吗?
发表于 2006-9-2 09:59:09 | 显示全部楼层 来自: 中国广东深圳

连接多段线程序(LISP)

在CAD里面输入命令PE,回车& o2 ]! v8 `  C, `% _: f: Z
选定的对象不是多段线' Z" c: X$ s/ ^9 H( F* q: A2 w
是否将其转换为多段线? <Y>回车
% X: K. C0 l  o4 |5 M输入选项 1 b3 a9 P. A7 h) _4 d3 P
[闭合(C)/合并(J)/宽度(W)/编辑支持楼主点(E)/拟合(F)/样条曲线(S)/非曲线化(D)/线型生成(L)
( `9 I) r' S/ l7 b* @/放弃(U)]: j回车( v2 Z7 A" j  C  y; Y5 D, [+ k
选择对象: 可以框选(定对角点: 找到 4 个)也可以一个个选,选取好后,回车.
0 v/ w- ~1 \& j2 c1 |# O选择对象:
0 p; |2 z+ z2 s+ |, _3 条线段已添加到多段线6 X2 a) C  @# \4 B
经过这样的操作就可以将多段线连成一条了
发表于 2006-9-2 12:25:31 | 显示全部楼层 来自: 中国广东汕头
3楼的方法很好,简单好用,我试了,谢谢。
发表于 2006-9-14 10:54:35 | 显示全部楼层 来自: 中国上海

帮帮我好吗?

原帖由 bozh79 于 2006-7-9 18:48 发表
$ y# x) o9 k3 b- j( U% S& g还要这样吗?
7 R4 M+ k1 B, p5 E/ n1 T* G不是有自带的连接功能嘛!
* b( C- ]( ]/ D- y$ N% S. m修改/对象/多线段,按命令提示输入M后回车,Y回车,不就完了,还用得着编一个小程序吗?

$ S9 Q6 l2 V7 m+ B5 d. a我划线时常常发现直线和曲线怎么老连不上不能变成一条多段线呀?
发表于 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 | 显示全部楼层 来自: 中国江苏无锡
什么用命令啊..用命令太烦了啊..." f. |% ^" j. R" @; G) D& z
不过不知道这个程序好不好用....先试试用...
2 a& v2 v* h  i2 f; s/ n1 r1 [) f
我觉得目前比较好用的就是贱人工具箱的.连接功能...& R3 }1 U* z' K' r, a  s

- F. h5 h/ m- d/ }5 m; e( \  V我经常用...特别是旋转实体时,大家应该知道吧.都要求是闭合图形的..烦死了..
& J% \  I2 A9 w4 E# O6 U. ]7 Y  h  b. H. U
不过.现在问题来了,有的时候,即使有限公司.0001的小间隙,都连接不起来..真讨厌啊..
, B- Y/ T$ ^( g: j" f& w
& f' X: I. x- ^: \3 p6 p4 z- j如果能设置一下兼容值,比如兼容0.1以下的尺寸.全部耦合.那用起来不是更方便吗..
发表于 2010-2-2 12:13:34 | 显示全部楼层 来自: 中国台湾
Command: pe
, w* \6 |. t% o1 j1 I) wPEDIT Select polyline or [Multiple]: m  M! t9 V% \- Q6 }; K. F$ h5 v* m( ~
Select objects: Specify opposite corner: 946 found
' D' w4 o/ M% ]/ J6 uSelect objects:
7 m- R; r" L0 M5 N; p6 jConvert Lines and Arcs to polylines [Yes/No]? <Y>
3 s; n! B* E7 q  J8 P' i( bEnter an option [Close/Open/Join/Width/Fit/Spline/Decurve/Ltype gen/Undo]: j
  |  }5 Y7 m9 u% ~1 d1 ^Join Type = Extend( \7 W/ M2 {1 {
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 )

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