CAD设计论坛

 找回密码
 立即注册
论坛新手常用操作帮助系统等待验证的用户请看获取社区币方法的说明新注册会员必读(必修)
查看: 23157|回复: 9

[求助] cad中圆或弧线如何转多段线?

[复制链接]
发表于 2009-4-24 16:03 | 显示全部楼层 |阅读模式
cad中圆或弧线如何转多段线?
发表于 2009-4-24 16:09 | 显示全部楼层
好象不可以吧 !目前我还没发现这功能呢
发表于 2009-4-24 16:17 | 显示全部楼层
未剪切过的圆不可转,剪切过的圆及圆弧(椭圆弧除外)都可用PEDIT来转。
发表于 2009-4-24 16:30 | 显示全部楼层
同意楼上在转换的过程中会问你是否同意转换为多线段
发表于 2009-4-24 16:53 | 显示全部楼层
修改菜单~对象~多段线,选中你要改变的对象,问是否转多段线,选是,然后执行合并,就可以将不是多段线的内容作成多段线了
发表于 2009-4-24 20:17 | 显示全部楼层
如果就是想做多段线,椭圆弧和样条曲线是变不成多段线的;如果想做一个封闭空间作三维立体图,可以把它们做成面域。
发表于 2009-4-24 20:37 | 显示全部楼层
圆可以先剪切到一部分后用PE,再输入C闭合成圆
; f' `& Z$ z5 z6 Y1 y' g椭圆或椭圆弧的话,在画之前先修改下参数,输入pellipse值设置为1,则画的椭圆或椭圆弧为多线段了
发表于 2011-4-28 16:45 | 显示全部楼层
来自明经
  1. (defun c:tt(/ modelspace)
    # y' w; C4 [5 E/ S6 B
  2.   
    , i7 f3 h2 W' g2 q2 z
  3.   (setq oldosmode (getvar "osmode")
    % O9 m: M3 L- x+ g5 n* p9 @9 G: p3 _
  4. oldcmdecho (getvar "cmdecho")
    ' c0 Z- C2 U7 x1 X2 B/ G
  5. )
    , Y  ^, S) C6 w3 J& d1 @+ Y- E
  6.   (setq modelspace (vla-get-ModelSpace (vla-get-activedocument(vlax-get-acad-object))))
    . R9 E2 g0 V" m3 C3 r4 q
  7.   (setvar "osmode" 0)7 K1 P( F9 b; ~. g0 n2 M* q9 B
  8.   (setvar "cmdecho" 0)
    6 j; Y3 Q% Z) c4 }% `0 D7 J  a& i
  9.   (setq ss (ssget '((0 . "circle"))))/ p$ Z" `( i. g* T9 f( ^8 r
  10.   (setq k 0)
    3 d. @5 B/ F* M/ I9 \6 p
  11.   (if ss/ i) c9 u- j! ?" E
  12.     (repeat (sslength ss)
    6 C" T: I+ Y8 y4 d" m/ A2 q
  13.       (setq en (ssname ss k))
    $ x' X: |% c. Z1 ?  J3 j4 x8 W. N
  14.       (setq cp (cdr (assoc 10 (setq enl (entget en))))! o0 X+ m5 D  l, W
  15.      r (cdr (assoc 40 enl))
    5 v1 a. \$ D+ J2 y* v  ~. r
  16.      )' _: O2 M8 _  t( T1 n3 D2 K  \
  17.       (setq p1 (polar cp pi r)+ _  C5 A# P6 d& y
  18.      p2 (polar cp 0 r)
    1 [( h; e  G% i
  19.      )
    5 m7 [+ r! A1 ^. ~- L* M
  20.       (setq pts (list p1 p2)* \0 Y1 p' d3 {4 ?
  21.      pts (mapcar '(lambda (x) (list (car x) (cadr x))) pts)
    # ~% ^. z& G' \1 i/ J& n# d
  22.       n (* 2 (length pts))8 @5 Y$ i% A8 a8 ~3 m4 h2 S
  23.      )
    % w  ]: L/ U' v/ P# e% U
  24.       (setq arypts (vlax-make-variant( M2 N' U6 m: d6 E
  25.        (vlax-safearray-fill
    * N* n: W; v3 X; `4 ~0 I8 [
  26.          (vlax-make-safearray vlax-vbdouble (cons 1 n)): X. b1 t. G  p' ~$ G9 X# N
  27.          (apply 'append pts)
    & ^$ k2 @  m" r" f8 }( {
  28.        ) ;_ vlax-safearray-fill; I: T# v: ^5 w9 i# u
  29.      ) ;_ vlax-make-variant1 n8 Y. C$ m- o, c
  30.       ) ;_ setq
    ( T7 f7 G, c9 v4 ]' W2 P0 H& |" @
  31.       (setq obj (vla-AddLightWeightPolyline modelspace arypts))
    ! Z# t% D+ |) |! h: O
  32.       (vla-put-Closed obj :vlax-true)7 c# `/ t# {7 K5 Q% [& `; I. b  I1 B( A9 R
  33.       (vla-SetBulge obj 0 1)0 T% i$ s( }2 c( E0 |, H! u0 b. T" l
  34.       (vla-SetBulge obj 1 1), a. \+ j' }% j/ X
  35.       (setq k (1+ k))2 _( ]* m4 [0 ~( G: g
  36.       (command "_matchprop" en (entlast) "")
    7 ~/ j/ [- F# [- N
  37.       (entdel en)
    4 Y* r/ h, l' \' e: S$ @% e! f5 N/ T
  38.       )1 g! k- }: m7 S# w' w* l4 L$ p/ s
  39.     )
    1 Q0 ]' q) d+ D9 x, X0 Z7 [8 e
  40.     (setvar "osmode" oldosmode). Y; \3 v6 _, r  @" s0 o, r
  41.   (setvar "cmdecho" oldcmdecho)" N- ^3 r, N& C3 _7 Y4 J' o! k3 n1 r
  42.   )
复制代码
发表于 2011-4-28 16:52 | 显示全部楼层

本帖子中包含更多资源

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

x
发表于 2011-4-28 19:38 | 显示全部楼层
哦,学到了,谢谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于|免责|隐私|版权|广告|联系|手机版|CAD设计论坛

GMT+8, 2026-7-20 20:30

CAD设计论坛,为工程师增加动力。

© 2005-2026 askcad.com. All rights reserved.

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