QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;. `$ K, v$ d% `$ Z! \( y. x' F: F
;;                                  ;;
! J- _. s, Y; N8 Z! o8 Z3 ];;          连接多段线程序          ;;. x& @4 d' |3 A0 N
;;                                  ;;8 g+ B' I" N- Y# [1 o4 b6 n' @
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3 O4 `8 D, d6 v" L5 W- P5 |: o. ^- t
;;MYCAD V3, HZH2000,2005.6.12
: g/ y. F- E  _' m- p+ B(defun c:line_link()
9 c1 N$ P0 a! r  (setvar "CMDECHO" 0)! t7 [7 m7 \* j" S1 D/ J, O2 m5 O- m
  (setq ss nil)% D4 y" j0 {+ j' H
  (prompt "\n请选择所有要连接的多段线、直线或圆弧: ")  
0 i/ y/ z+ Y3 h+ y  (setq ss (ssget '((0 . "[~B . C-K . M-Z]*"))))4 f0 J5 ]9 p, R3 D# i! Y
  (command "undo" "begin"), l$ W1 g; x0 M( Q
  5 |: N& ^0 C' n6 ?6 u
  (setq iss 0)3 L; d$ n  g3 {9 V" _- Z# r
  (setq jss 0)  
7 p4 n' T7 A8 y  (while (< iss (sslength ss) )
, S0 Y! j. p$ {9 y! x! m6 F3 V6 O    (setq en (ssname ss iss))& e. n  r# g2 t# A7 Q
    (setq ed (entget en))
. S1 Q; j$ F0 h* N7 r2 B* z2 ~. `    (setq e_type (cdr (assoc '0 ed))): Q' Z7 x8 i, J
    (if (= (cdr (assoc '70 ed)) 1)2 j8 H& s- V! e* F
        (ssdel en ss)
- j6 t' _: [# U0 X) {9 }        (setq iss (+ 1 iss))
- }. _2 \" B6 Q, H* w    )/ o. J$ A" y% q3 P, l4 v
    % V2 c5 t. ~$ n2 W7 c# |% @0 q, y% a; F- v
    (if (/= e_type "LWPOLYLINE")3 G+ |' s; T! ~7 R
        (setq jss 999)]) D- H; V( i& w
    )   1 j' E4 {4 B* @, b# l; x  O1 g
  )+ W* Z% Q+ O( s+ t; T- k7 D
  
. ]6 N9 q; v4 }6 p8 Q+ i% Z* L  (if (= jss 0)      
0 L+ }6 d$ i0 P2 F      (command "pedit" "M" ss "" "J" "" "" )
3 `  A% X8 ~7 B: q5 \1 U8 C      (command "pedit" "M" ss "" "y" "J" "" "" )* v, p) m& w! a" H/ P5 l
  )8 c' h- i5 [! I6 l6 W, X
  (command "undo" "end")
" L) r; g- x) `8 X  (princ "\n 连接完成!")
2 I) x7 G) G1 X. e4 _" y; G+ G  (princ)) R' a9 a! N" g" m$ ]! B8 s! J
)
发表于 2006-7-9 18:48:48 | 显示全部楼层 来自: 中国新疆乌鲁木齐
还要这样吗?
  q7 d; R6 f) C1 d4 q不是有自带的连接功能嘛!
2 p& T( \" ?% ~. \修改/对象/多线段,按命令提示输入M后回车,Y回车,不就完了,还用得着编一个小程序吗?
发表于 2006-9-2 09:59:09 | 显示全部楼层 来自: 中国广东深圳

连接多段线程序(LISP)

在CAD里面输入命令PE,回车
* I# ]0 ^+ L: T- R% N选定的对象不是多段线
( h+ Z- U5 z" O1 \是否将其转换为多段线? <Y>回车( b" U, p& k* c% H+ I
输入选项
3 r& M) k1 V9 @% m% c; }$ m[闭合(C)/合并(J)/宽度(W)/编辑支持楼主点(E)/拟合(F)/样条曲线(S)/非曲线化(D)/线型生成(L)* ~5 H9 E" g3 p9 @1 a9 P- N: e9 @6 A* P5 x
/放弃(U)]: j回车+ Y) r( u4 b: X) E
选择对象: 可以框选(定对角点: 找到 4 个)也可以一个个选,选取好后,回车.
9 E/ l2 V# e& i) R9 z3 Y1 C4 p选择对象:
* g  Z" t, V) O- w' C% S3 条线段已添加到多段线
4 X) T, W, B9 y1 ?- A: j$ \4 U  r经过这样的操作就可以将多段线连成一条了
发表于 2006-9-2 12:25:31 | 显示全部楼层 来自: 中国广东汕头
3楼的方法很好,简单好用,我试了,谢谢。
发表于 2006-9-14 10:54:35 | 显示全部楼层 来自: 中国上海

帮帮我好吗?

原帖由 bozh79 于 2006-7-9 18:48 发表
% a* e0 b) b  V2 \% q1 \5 _( z还要这样吗?
: q1 \9 _* M, [3 \不是有自带的连接功能嘛!
* X) B( m% C/ D! E, \7 c修改/对象/多线段,按命令提示输入M后回车,Y回车,不就完了,还用得着编一个小程序吗?
) V# ]- ]- g3 }4 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 | 显示全部楼层 来自: 中国江苏无锡
什么用命令啊..用命令太烦了啊...
8 R( X1 H  J1 P0 x; k3 s不过不知道这个程序好不好用....先试试用...2 `" h6 b+ E* m4 Z* k2 @: A0 r; \% a
1 S+ J- n0 ~( O8 X4 y7 e% m$ l
我觉得目前比较好用的就是贱人工具箱的.连接功能...
3 b# l: |) x" _! T3 p. S) c5 {; `0 W, J2 S
我经常用...特别是旋转实体时,大家应该知道吧.都要求是闭合图形的..烦死了..
) H* E4 h" G" c" x
4 Y2 I" {: \( s, r& h( O4 U不过.现在问题来了,有的时候,即使有限公司.0001的小间隙,都连接不起来..真讨厌啊..7 r& c7 A8 }1 ^8 K9 }; ~( `" i

/ d  g  z- h4 M9 w如果能设置一下兼容值,比如兼容0.1以下的尺寸.全部耦合.那用起来不是更方便吗..
发表于 2010-2-2 12:13:34 | 显示全部楼层 来自: 中国台湾
Command: pe6 m' K& A9 N; |: Z; U3 f! m/ c& i! `
PEDIT Select polyline or [Multiple]: m
" l+ @; y; `2 rSelect objects: Specify opposite corner: 946 found* I$ W9 K. b9 P5 k! k5 _
Select objects:
( E$ k0 C) x( oConvert Lines and Arcs to polylines [Yes/No]? <Y>
4 Y) E/ g' V2 L  jEnter an option [Close/Open/Join/Width/Fit/Spline/Decurve/Ltype gen/Undo]: j" h2 p$ I1 \$ D, Z# E/ n$ x- x
Join Type = Extend
) v3 T/ }" \5 e$ L1 KEnter 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 )

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