QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
' I! I1 b2 J# a  l+ W& y;;                                  ;;6 ]6 j5 c1 X( v& ?: r" h
;;          连接多段线程序          ;;
! S- }! Z: T- }& g1 W- g6 h;;                                  ;;
( J. e& d- B" o0 w* e;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
( x  \+ T# L3 T/ n& _$ S- ]& M;;MYCAD V3, HZH2000,2005.6.12 + O  d9 ]  x) o0 {
(defun c:line_link()
; V, U/ E+ ~% _! G  (setvar "CMDECHO" 0)! {5 F* ^$ o: U" f
  (setq ss nil)
( b7 T3 {1 r8 G7 f1 z4 _  (prompt "\n请选择所有要连接的多段线、直线或圆弧: ")  ( {0 R; L" J/ m( F% s
  (setq ss (ssget '((0 . "[~B . C-K . M-Z]*"))))  C, @, e5 ?; v, @
  (command "undo" "begin")
: ?7 J+ b% S* E1 D1 [* o. B0 F  y! Q  
9 I% P$ f& ^% C( l  p& |' s  (setq iss 0)
! v% c% k, |0 D6 X  (setq jss 0)  3 O% f# l1 N4 F, g! l6 M) m
  (while (< iss (sslength ss) )5 U6 m, w5 T' S
    (setq en (ssname ss iss))- ^1 e/ n, `3 p4 Q8 f% h
    (setq ed (entget en))
4 S5 b/ T# x$ d4 W; e: \    (setq e_type (cdr (assoc '0 ed)))
% S8 s  a7 X- x: R    (if (= (cdr (assoc '70 ed)) 1)4 g5 v$ N' p! y. R# g
        (ssdel en ss)
2 T3 \, z9 F2 }0 o4 C        (setq iss (+ 1 iss))6 @: L; N# }) u3 O1 k. u4 r
    )3 @1 p6 N5 N7 q) G8 V! v
    5 h' ^7 y1 J- W4 u1 _* \7 l
    (if (/= e_type "LWPOLYLINE")$ E' P8 H9 t. R- j) C& Z; N
        (setq jss 999)]5 y4 N+ r5 L. g  s# Q
    )   & S7 l2 h/ x) v1 O
  )
9 E7 C2 s; g# d' d& X( \" K1 c( L  
! z* f1 P, Q. w: B2 x& J  (if (= jss 0)      
7 k; Q, S6 l6 Y% H( ~      (command "pedit" "M" ss "" "J" "" "" )4 a" a! d+ p5 E1 F' H+ y  g" v: ?0 }
      (command "pedit" "M" ss "" "y" "J" "" "" )
6 q- p3 [: t6 y6 |0 q4 Z  )
9 h! [; I$ Q) x& A( q' ?# i  (command "undo" "end")+ E5 i* A: U* h
  (princ "\n 连接完成!")$ ?- j3 _+ W" Z8 z3 z0 C
  (princ)
7 X4 Z5 W% S- s0 K3 n' c )
发表于 2006-7-9 18:48:48 | 显示全部楼层 来自: 中国新疆乌鲁木齐
还要这样吗?' j. ?& n5 R$ \8 y
不是有自带的连接功能嘛!
# d, j9 y4 J9 K; p( C& z: k2 Z修改/对象/多线段,按命令提示输入M后回车,Y回车,不就完了,还用得着编一个小程序吗?
发表于 2006-9-2 09:59:09 | 显示全部楼层 来自: 中国广东深圳

连接多段线程序(LISP)

在CAD里面输入命令PE,回车- C8 v2 k; x# H7 V8 G  O3 v# U
选定的对象不是多段线) D2 U7 ~/ L6 \' S
是否将其转换为多段线? <Y>回车+ l8 Y: q0 I1 }2 h
输入选项
; ^0 W0 b  A# }/ \7 O[闭合(C)/合并(J)/宽度(W)/编辑支持楼主点(E)/拟合(F)/样条曲线(S)/非曲线化(D)/线型生成(L)
2 e$ v5 J/ o, f/ M# W3 W, W$ n3 [4 _/放弃(U)]: j回车0 H9 @( G8 a# z* A0 g2 K# u1 e
选择对象: 可以框选(定对角点: 找到 4 个)也可以一个个选,选取好后,回车.
* m0 V5 N- p) u$ }  l1 _选择对象:1 Z) e  R0 B; l9 a/ j
3 条线段已添加到多段线5 L( E: M1 ^& C* H, ^
经过这样的操作就可以将多段线连成一条了
发表于 2006-9-2 12:25:31 | 显示全部楼层 来自: 中国广东汕头
3楼的方法很好,简单好用,我试了,谢谢。
发表于 2006-9-14 10:54:35 | 显示全部楼层 来自: 中国上海

帮帮我好吗?

原帖由 bozh79 于 2006-7-9 18:48 发表
# W& Y' q+ o/ x+ h还要这样吗?
: H5 D  W, k/ T" p0 q不是有自带的连接功能嘛!
8 X% [& `' \0 v/ y修改/对象/多线段,按命令提示输入M后回车,Y回车,不就完了,还用得着编一个小程序吗?
. E9 k0 v7 E* _+ N( g* D
我划线时常常发现直线和曲线怎么老连不上不能变成一条多段线呀?
发表于 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 | 显示全部楼层 来自: 中国江苏无锡
什么用命令啊..用命令太烦了啊...
, L$ w9 `3 ~3 ?/ j2 B不过不知道这个程序好不好用....先试试用...
7 N" D+ T9 f# {) y( [9 I* Z9 c1 f" S% o  g* W( w
我觉得目前比较好用的就是贱人工具箱的.连接功能...# b2 `; `2 ?; N8 K

6 ^1 k1 p3 l" m5 C2 j! q! j我经常用...特别是旋转实体时,大家应该知道吧.都要求是闭合图形的..烦死了..
( W  O4 e- Z# S- Z6 Y9 N
5 }! d: r6 f. v6 v不过.现在问题来了,有的时候,即使有限公司.0001的小间隙,都连接不起来..真讨厌啊..
7 P; Y4 c3 l3 I2 N3 R& k5 F0 f$ N! i+ G( @: C; D, G: D7 A" W* |
如果能设置一下兼容值,比如兼容0.1以下的尺寸.全部耦合.那用起来不是更方便吗..
发表于 2010-2-2 12:13:34 | 显示全部楼层 来自: 中国台湾
Command: pe
% x7 ~9 C. I4 |$ zPEDIT Select polyline or [Multiple]: m
' k7 D* H: w# Q, v. `0 x8 ASelect objects: Specify opposite corner: 946 found
# u# L5 |# L+ Y9 ]0 B  m, \/ {1 LSelect objects:; J" F! {# T" }
Convert Lines and Arcs to polylines [Yes/No]? <Y>
' j% ~: i" E6 k/ e# {2 g' jEnter an option [Close/Open/Join/Width/Fit/Spline/Decurve/Ltype gen/Undo]: j
. w; u5 t. n; H7 s# _; RJoin Type = Extend
' e, g# ?" E  c! u3 \& oEnter 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 )

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