QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
11天前
查看: 9254|回复: 11
收起左侧

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

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

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

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

x
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
& ~( u+ H1 K& o  J3 s. i/ c; [;;                                  ;;0 P/ ^3 P4 {$ z9 f8 b
;;          连接多段线程序          ;;
3 T* ~) G& T& n& R$ ^) F/ Z3 s4 `0 C;;                                  ;;0 ]/ ^* T0 t8 a, j. s
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
( W; E( z2 A+ M. m;;MYCAD V3, HZH2000,2005.6.12 ( i! A- Q. }4 d+ |; }5 P1 x
(defun c:line_link()
+ d1 |" j1 [( M, ?" i/ a$ n  (setvar "CMDECHO" 0)
0 D7 [8 [; ]/ z3 J6 A  (setq ss nil)
0 f8 k" z5 y  y! ]8 y8 @  (prompt "\n请选择所有要连接的多段线、直线或圆弧: ")  
, }4 ]. B1 C2 V2 ]7 _! g# G  (setq ss (ssget '((0 . "[~B . C-K . M-Z]*"))))& n$ r. q: Y" F  R
  (command "undo" "begin")6 ~' V/ B$ F! A7 d2 X; a
  
6 |( c% N% n5 {  (setq iss 0)
& }2 H$ C" Q& g3 a1 D% _! i+ |  (setq jss 0)  8 e2 I; B/ @4 G( p, Y( T' n  `. W( o
  (while (< iss (sslength ss) )
9 |" b6 h; ~% B    (setq en (ssname ss iss))* P2 Q0 X/ G* i9 v/ [
    (setq ed (entget en))
* c/ S5 M5 O) G: Q1 N7 v; k    (setq e_type (cdr (assoc '0 ed)))
4 J# ]9 J# E* V' Q    (if (= (cdr (assoc '70 ed)) 1)
( ]: s7 Q" f6 ]! T0 x; V4 k        (ssdel en ss)" h6 |( Z) `- K3 x+ M5 N* }
        (setq iss (+ 1 iss))
( O+ E1 l+ O1 _# d    )
) ^  B, t! `& B% M4 {0 @; |8 k   
: ^) _: ^& T( y5 }; t9 B7 e+ ^    (if (/= e_type "LWPOLYLINE")+ r) h8 P& r" V1 j( s
        (setq jss 999)]
1 F5 y, p3 C! R    )   
5 y/ O8 m% F: U( I  )
2 c4 t5 n3 j5 U1 G! w, J+ y+ R  4 ~: H, Z1 a. T  P  {+ E
  (if (= jss 0)      
7 ]5 H* |' ^1 G5 X* L  V1 `6 R2 L7 u      (command "pedit" "M" ss "" "J" "" "" )
7 G' M/ I. y3 l      (command "pedit" "M" ss "" "y" "J" "" "" )! `3 q4 E) I/ w8 u0 B
  )7 L9 y8 E% I0 \7 i% B
  (command "undo" "end")  d3 o, ^' ^. e. u4 U( A+ ^9 v* r) ~$ I
  (princ "\n 连接完成!")1 T2 {( Z- ~* F% F4 V
  (princ)
0 l$ [) {. u6 r7 l! j) A/ P9 t0 ^ )
发表于 2006-7-9 18:48:48 | 显示全部楼层 来自: 中国新疆乌鲁木齐
还要这样吗?
+ P# v+ s$ _: \% Q4 R% ?/ G不是有自带的连接功能嘛!
! I8 s! P  s" v3 z- H修改/对象/多线段,按命令提示输入M后回车,Y回车,不就完了,还用得着编一个小程序吗?
发表于 2006-9-2 09:59:09 | 显示全部楼层 来自: 中国广东深圳

连接多段线程序(LISP)

在CAD里面输入命令PE,回车* d2 T8 t$ R; K" g+ }) J: [
选定的对象不是多段线% X" [$ v7 z4 q
是否将其转换为多段线? <Y>回车
4 m6 |3 H+ z% `5 \+ _8 Z输入选项 , o- f# }  J4 W
[闭合(C)/合并(J)/宽度(W)/编辑支持楼主点(E)/拟合(F)/样条曲线(S)/非曲线化(D)/线型生成(L)* F% ]! f& l$ S8 D6 r
/放弃(U)]: j回车
, E$ r0 o1 G- a5 C0 D选择对象: 可以框选(定对角点: 找到 4 个)也可以一个个选,选取好后,回车." i) T& C) E2 s: I$ h
选择对象:3 O; y2 `6 Q' W4 W1 K
3 条线段已添加到多段线
) u6 V! O6 _3 E- p8 B经过这样的操作就可以将多段线连成一条了
发表于 2006-9-2 12:25:31 | 显示全部楼层 来自: 中国广东汕头
3楼的方法很好,简单好用,我试了,谢谢。
发表于 2006-9-14 10:54:35 | 显示全部楼层 来自: 中国上海

帮帮我好吗?

原帖由 bozh79 于 2006-7-9 18:48 发表
% o  b+ h2 d' I1 X, ~8 X3 A还要这样吗?
( ?) R1 s) h  r8 N. ?不是有自带的连接功能嘛!& b+ }0 E; P) Q
修改/对象/多线段,按命令提示输入M后回车,Y回车,不就完了,还用得着编一个小程序吗?

" e$ K' }3 [2 ?8 r- P我划线时常常发现直线和曲线怎么老连不上不能变成一条多段线呀?
发表于 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 | 显示全部楼层 来自: 中国江苏无锡
什么用命令啊..用命令太烦了啊...1 V, L2 E9 @" e# z9 p2 R
不过不知道这个程序好不好用....先试试用...
# k/ O( z- n5 w1 D- w8 p
! w) m! t4 Z6 a) o2 r我觉得目前比较好用的就是贱人工具箱的.连接功能...1 ], W: g8 N, s
! m# S( E* F$ d: s/ \2 t
我经常用...特别是旋转实体时,大家应该知道吧.都要求是闭合图形的..烦死了..
5 C9 J; p4 f/ C1 Y1 |" Z: K" j( Q: l4 x* k6 G2 q* F
不过.现在问题来了,有的时候,即使有限公司.0001的小间隙,都连接不起来..真讨厌啊..4 P* T4 V& r- S5 _3 b0 b: X+ H

( ]; J/ e6 v; ?如果能设置一下兼容值,比如兼容0.1以下的尺寸.全部耦合.那用起来不是更方便吗..
发表于 2010-2-2 12:13:34 | 显示全部楼层 来自: 中国台湾
Command: pe( |- K4 P( Z7 w" B; V; k8 O( ?
PEDIT Select polyline or [Multiple]: m
  Q% z+ ~! M1 x& Y. ~Select objects: Specify opposite corner: 946 found
. X4 }5 g$ e  m% {; H" xSelect objects:' ?/ o, @* Z0 ~- h4 M
Convert Lines and Arcs to polylines [Yes/No]? <Y>4 M  `8 Y' R4 e( J, B: G
Enter an option [Close/Open/Join/Width/Fit/Spline/Decurve/Ltype gen/Undo]: j. J# L0 j& G6 {" s- k$ N+ J
Join Type = Extend! {' x5 O8 \: Q+ v- D- Z; B
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 )

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