QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
6天前
查看: 7488|回复: 32
收起左侧

[分享] 已知中心及其上三点,求作椭圆

[复制链接]
发表于 2015-1-14 00:13:04 | 显示全部楼层 |阅读模式 来自: 中国北京

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

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

x
本帖最后由 gongwen0519 于 2015-1-14 00:21 编辑 . Q+ h; R8 t" |" {% p, v: C! f

- `  {/ Z+ E- h# H! d5 M本题是继这个http://www.3dportal.cn/discuz/fo ... ead&tid=1449246【作出最长值(不限软件)】帖子而来,该帖椭圆中心可知,同时也可以随便得到椭圆上的三点。
! ?: Q5 W; \3 D- F& ]% @6 G: }- T
3 Q3 Q3 I& t7 O& w几何作图作出OX、OY的方向与长度即可,ACAD则画出整个椭圆:0 Q1 L7 l7 d- n* C# l- D

4 r+ w( a( B2 [, S/ n8 @(这类问题在工程实际中很实用。)# E8 }! g8 \0 \$ S) C) Y0 Z
7 v4 ~# b* I! b  w1 a: f
tuoyuan.png
$ h  U& Z& o$ M' o

评分

参与人数 1三维币 +20 收起 理由
woaishuijia + 20 发起技术讨论

查看全部评分

发表于 2015-1-19 12:32:28 | 显示全部楼层 来自: 中国辽宁抚顺
怎么没人回呢?
  1. Sub C3PE()
    ; \# W. m/ m3 s/ N2 V! q
  2. Dim P0(2) As Double, P1 As Variant, P2 As Variant, P3 As Variant, P4 As Variant
    . l  K4 O  C' R/ q) i
  3. Dim X1 As Double, Y1 As Double, X2 As Double, Y2 As Double, X3 As Double, Y3 As Double$ c3 \) X+ }0 n
  4. Dim A As Double, B As Double, C As Double, F As Double, Ang As Double, R1 As Double, R2 As Double
    " Q+ Q) ]/ O: S! o! x- y) H
  5. On Error GoTo 10; P9 `4 [" @" K
  6. With ThisDrawing
    4 @- c9 g+ x8 z) s8 d
  7. P1 = .Utility.GetPoint(, "指定中心点")
      H( d9 Y$ y; z, K; A
  8. P2 = .Utility.GetPoint(, "指定第一点")$ p' V  `1 {' n- i1 Q
  9. P3 = .Utility.GetPoint(, "指定第二点")
    3 ^7 ?6 m  y, [8 \; ^
  10. P4 = .Utility.GetPoint(, "指定第三点")
    . p3 w+ o4 n" h4 u6 `  r6 D. g& \
  11. X1 = P2(0) - P1(0)
    ( x) g9 k/ y1 d: Z
  12. Y1 = P2(1) - P1(1)
    5 ]' R' `) ?! Q1 G$ C
  13. X2 = P3(0) - P1(0), j7 ^& U9 @! w, E
  14. Y2 = P3(1) - P1(1)
    - ~1 K) ?9 {+ c, u: O, v
  15. X3 = P4(0) - P1(0)
    " ~3 c0 f! s6 A8 ~  D
  16. Y3 = P4(1) - P1(1)5 t9 X* W& t8 H- n3 H6 s
  17. A = (X1 * Y1 - X2 * Y2) * (Y1 ^ 2 - Y3 ^ 2) - (X1 * Y1 - X3 * Y3) * (Y1 ^ 2 - Y2 ^ 2)
    $ t: G4 M9 B/ h, N$ I5 D' S/ Q/ l& }0 d
  18. If A <> 0 Then
    " U' c- l3 y' J5 L
  19. B = ((X1 ^ 2 - X2 ^ 2) * (X1 * Y1 - X3 * Y3) - (X1 ^ 2 - X3 ^ 2) * (X1 * Y1 - X2 * Y2)) / A
    ( Y5 A3 s3 ]- z/ g7 T# p! S
  20. C = ((X1 ^ 2 - X3 ^ 2) * (Y1 ^ 2 - Y2 ^ 2) - (X1 ^ 2 - X2 ^ 2) * (Y1 ^ 2 - Y3 ^ 2)) / A
    ! \9 R. ?0 F# x- I( |
  21. F = -X1 ^ 2 - B * Y1 ^ 2 - C * X1 * Y1, d: [+ ]' W1 \
  22. If C = 0 Then! r1 X1 E8 b  p  q
  23. If B > 0 And F < 0 Then
    4 D  q( l; ^+ ]3 Y+ i. V* w6 h
  24. Ang = 0. J( i7 k: e: w) R( M' p
  25. R1 = Sqr(-F)
    2 Z7 V5 K8 d: T/ i- M
  26. R2 = Sqr(-F / B)8 w/ `1 Z/ L5 ]
  27. Else, q% b8 {% J: M* K' c
  28. Exit Sub
    5 B3 _" P' ^! e3 X/ _& d# X4 @
  29. End If& f; Q' J0 L: W# ^" P  }
  30. Else
    / g3 c3 L1 ]) k! f
  31. If B = 1 Then, x! |0 r- {3 J3 k6 g! F7 I
  32. If F < 0 And C > -2 And C < 2 Then
    5 ~8 C+ |2 w! v) z- L
  33. Ang = .Utility.AngleToReal(45, acDegrees)+ T' x2 a% Z% N0 _3 A
  34. R1 = Sqr(-2 * F / (2 + C))
    ( y2 Q, s2 t+ H: `# W% i
  35. R2 = Sqr(-2 * F / (2 - C))3 _" F3 y4 ]) t; F2 U+ k
  36. Else6 `( o& ^, S; ^/ S+ @5 {# B
  37. Exit Sub1 B4 h6 Q2 w# E$ x9 x" ~7 m
  38. End If& o6 J& x9 I9 P/ W8 J
  39. Else
    1 w1 p* s  ?+ b5 x
  40. Ang = Atn(C / (1 - B)) / 2
    3 c& I" @/ i! x- j
  41. If Ang < 0 Then Ang = Ang + .Utility.AngleToReal(90, acDegrees)+ }$ q8 d9 o  U. a0 O3 G
  42. If B > -1 And F < 0 And C > -(1 + B * Tan(Ang) ^ 2) / Tan(Ang) And C < (B + Tan(Ang) ^ 2) / Tan(Ang) Or _$ P) v5 @, E( ~
  43. B < -1 And F > 0 And C > (B + Tan(Ang) ^ 2) / Tan(Ang) And C < -(1 + B * Tan(Ang) ^ 2) / Tan(Ang) Then
    - X4 h' c3 [0 _0 n( Q
  44. R2 = -F * (1 + Tan(Ang) ^ 2)
    ! ]$ j" r0 m5 U0 U5 a# }
  45. R1 = Sqr(R2 / (1 + B * Tan(Ang) ^ 2 + C * Tan(Ang)))3 P( ]& Z) w8 B$ a) Z
  46. R2 = Sqr(R2 / (B + Tan(Ang) ^ 2 - C * Tan(Ang)))* Q# y  u! M; l7 z; A; Z% i/ }
  47. Else, C& u+ B3 E7 n$ L" u/ o! ?4 L
  48. Exit Sub
    7 T! y0 N0 J. V0 ~- H
  49. End If3 Q+ z: M8 t" S
  50. End If
    $ Q$ i4 }- ^2 u/ |4 \7 p
  51. End If. d; |4 C% H4 i  u9 `; ?' B# d) ^
  52. Else0 J! V* E9 w4 q! A0 k
  53. Exit Sub
    ' b" {$ J( g5 z' ]
  54. End If& K2 ?0 P0 P9 S
  55. If R2 < R1 Then
    $ k& i4 f* @% f0 L6 [% Z- m
  56. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang, R1), R2 / R1+ \4 h* C+ g6 y; D; Z) H4 Q  \
  57. Else" l$ Z9 F- j1 C5 }
  58. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang + .Utility.AngleToReal(90, acDegrees), R2), R1 / R2
    7 f* U$ _) s, d5 }# N! j
  59. End If
    : k! K: K7 p6 Y/ y5 I
  60. End With
    - W/ O5 S/ i1 {0 u# f$ h
  61. 10 End Sub
复制代码

评分

参与人数 1三维币 +10 收起 理由
2005llnn + 10 技术讨论

查看全部评分

发表于 2015-1-19 14:23:08 | 显示全部楼层 来自: 中国湖北黄冈
已知椭圆的中心点,将3点代入椭圆的一般方程,用解析几何的方法计算即可。
发表于 2015-1-19 19:43:35 | 显示全部楼层 来自: 中国辽宁营口
本帖最后由 woaishuijia 于 2015-1-19 23:24 编辑 ; \1 q  S% p1 P3 L+ t3 L

4 A: `5 q- S! g2 L  @; d- P再来个LISP
  1. (defun c:c3pe
    $ @( o3 g5 I3 q' z
  2.        (/ old p0 p1 p2 p3 p4 x1 y1 x2 y2 x3 y3 a b c f ang r1 r2). w# n4 N. z/ b
  3.   (setvar "CMDECHO" 0)2 s. I4 l5 M* \0 a7 H# A& d
  4.   (setq p0 (list 0 0 0)
    ; m" }( f$ U: p; k& ~1 q
  5. p1 (getpoint "\n 指定中心点:")
    7 b4 A, Q$ f, m' ?6 Q  {' H. `
  6. p2 (getpoint "\n 指定第一点:")& T# o1 w7 i$ i: z$ Q8 }9 n
  7. p3 (getpoint "\n 指定第二点:")
      w4 n) F( M* l
  8. p4 (getpoint "\n 指定第三点:")8 v' T5 G7 F) G" t4 y  `* k
  9. a  (car p1); S7 t+ v8 v& s8 g( M6 {. a" l
  10. b  (cadr p1)
    0 P; G  F' p! I, q/ Q
  11. x1 (- (car p2) a)
    3 V  V/ P+ }5 ^- p. O  j. O
  12. y1 (- (cadr p2) b)- L) t) e# m; {" j' M" x
  13. x2 (- (car p3) a)3 w0 i8 e9 k. I, y/ s8 n2 J
  14. y2 (- (cadr p3) b): y1 G( A( Z9 D& Y9 A+ Q; ]
  15. x3 (- (car p4) a)' s9 C9 m, F; [$ w& D& i( d
  16. y3 (- (cadr p4) b)
    $ l3 ^; {7 v  M; ^
  17. a  (- (* (- (* x1 y1) (* x2 y2)) (- (* y1 y1) (* y3 y3)))0 N: i, V$ |7 u' s  ^
  18.        (* (- (* x1 y1) (* x3 y3)) (- (* y1 y1) (* y2 y2))); P9 D) ^7 F: \/ P; I2 {
  19.     )8 C( @; n# {' ?5 T! m8 j
  20.   )
    + }' X5 D4 T) f  C4 R8 w6 q$ ~7 |: s
  21.   (if (/= a 0.0)
    " z- I7 h* P& S" [9 }& [
  22.     (progn
    ) b/ U: x9 [$ I6 i
  23.       (setq b (/ (- (* (- (* x1 x1) (* x2 x2)) (- (* x1 y1) (* x3 y3)))6 s( [6 o5 K  I( F* r
  24.       (* (- (* x1 x1) (* x3 x3)) (- (* x1 y1) (* x2 y2)))" N( C2 C1 m( M: G" a
  25.    )
    ' ~2 O7 w% p; E/ Y
  26.    a: t# H1 O1 }. ]% }; O
  27.        ); Z# G1 w% u) D- d
  28.      c (/ (- (* (- (* x1 x1) (* x3 x3)) (- (* y1 y1) (* y2 y2)))
    * H. S, `' M6 k9 |! x
  29.       (* (- (* x1 x1) (* x2 x2)) (- (* y1 y1) (* y3 y3)))5 Q! h+ S" H8 P
  30.    )! d. E, j. Q* y1 I( N; U
  31.    a7 R" K6 P- M1 `1 ?5 a
  32.        )5 |% r/ Y( z, ?( O
  33.      f (- 0 (* x1 x1) (* b y1 y1) (* c x1 y1))* R0 p. B' ^5 m- x, e  ~
  34.       )# `. S* l! O) T9 s3 W& C/ f/ k+ M
  35.       (if (zerop c)  Y7 }5 r2 a: H" `1 ?
  36. (if (and (> b 0.0) (< f 0.0))
    ( |" {, x7 x5 ~. X) q& |
  37.    (setq ang 0.0
    $ ?# m" L6 Q6 J% G- Z. N! S
  38.   r1  (sqrt (- 0 f))  H/ f% s0 c9 ]/ X. [
  39.   r2  (sqrt (- 0 (/ f b)))
    $ D. H; t; H& w2 g
  40.    )
    % A" |1 ~2 C+ W% z( z1 `8 ?
  41. )
    , f4 T2 `; W& K+ X  Y" L
  42. (progn
    - n7 L( p+ }' p! i) c& v4 q7 X
  43.    (if (= b 1.0)
    + E& n9 n/ d: B+ X7 {# m" d
  44.      (if (and (< f 0.0) (> c -2.0) (< c 2.0))0 `  G$ Q2 r# _7 C1 J
  45.        (setq ang (/ pi 4)" ^- c! A, N0 B2 Q! r' ]/ I
  46.       r1 (sqrt (* -2 (/ f (+ 2 c))))' g9 ?4 {, ?. [+ {, E
  47.       r2 (sqrt (* -2 (/ f (- 2 c))))
    4 h4 [5 O, L) B
  48.        )
    9 F3 }6 [; F; Y
  49.      )/ ]1 P* y; Z0 _$ E, _& q
  50.      (progn3 F: ?; s; Y  N" B2 N7 s
  51.        (setq ang (/ (atan (/ c (- 1 b)))1 n7 S! S5 m4 a. H
  52.       2
    ; \5 R/ A5 Y' D# @2 o, y4 `
  53.    )( \$ V- F$ g( p$ \! F& q% k+ A
  54.        )( z$ m+ j$ I! @. ]+ d( H
  55.        (if (< ang 0.0). \3 J5 t2 E: E
  56.   (setq ang (+ ang (/ pi 2)))$ X' m, M) n3 [6 I4 w
  57.        ): f) D# a  \- _2 I0 x
  58.        (setq a (/ (sin ang) (cos ang))). i4 O3 G9 x' o. p( k3 r: F
  59.        (if (or (and (> b -1.0)
    & _# w5 U* f( Z# [( t; a
  60.       (< f 0.0)- d3 D$ N4 W8 `
  61.       (> c (/ (- -1.0 (* b (* a a))) a))
    " Q, U4 B( j2 J9 x. k) G
  62.       (< c (/ (+ b (* a a)) a))
    ) l; P9 c9 y/ T# _+ u# n1 w& N
  63.         )
    7 F6 J0 a' ~! ^3 G+ S# t
  64.         (and (< b -1.0)
    3 s, j  W; W$ _7 I
  65.       (> f 0.0). |, I& X) K5 X! {/ t* A; K7 i) N( ~8 y
  66.       (> c (/ (+ b (* a a)) a))
    ! ^' Z  B$ J. l/ Q4 i. l+ s+ m
  67.       (< c (/ (- -1.0 (* b (* a a))) a)), D5 N9 q! b4 M1 m8 [' H7 z
  68.         )
    2 n1 f3 x" ]! x& s! i
  69.     )) A6 q  Y0 M! J* J  {) q* O6 D  a
  70.   (setq r2 (* -1 f (1+ (* a a))), H- q$ E6 }( P# M( {' [0 h+ j
  71.         r1 (sqrt (/ r2 (+ 1 (* b a a) (* c a))))5 {6 e$ V: q! }/ t' {+ m  @
  72.         r2 (sqrt (/ r2 (- (+ b (* a a)) (* c a))))
    - w0 Z1 I3 h- |7 v6 l: z
  73.   )
    8 {6 {) x% c1 L/ U
  74.        )
    9 }, q' T4 @! z# d) |
  75.      )
    6 j7 U: h; K$ w
  76.    )
    9 O4 g7 a' @9 q1 w, A$ F% C; L) ?
  77. )# K, \# ]- l; S0 }: n* d0 ]
  78.       )" X  o* P. p2 G9 z6 R
  79.     )
    1 t% n+ M3 [% }0 K9 w6 g
  80.   )
    - y8 ?+ L8 N8 ^
  81.   (if r1( w3 [4 J& R) E
  82.     (progn6 Y& {9 B" X2 H+ P
  83.       (setq old (getvar "OSMODE"))& A; F) g8 p: v& M  r4 ]
  84.       (setvar "OSMODE" 0)
    + _! ]( `+ }" u4 T" r
  85.       (command "ellipse"
    0 B5 b5 X5 c" I/ _4 w  _! v. A- i
  86.         "c"
    ' P9 Z2 s1 L1 a7 {9 P! R
  87.         p17 O( b, ~7 _* v, b
  88.         (polar p1 ang r1)- u! P1 O- S5 P: W$ p. C
  89.         r2% i8 W2 }; [; m& J  ^; j/ D5 d2 r9 V
  90.       )* H  P8 B2 S/ e# P. x' D  P
  91.       (setvar "OSMODE" old)
    6 E1 `2 j( e5 k- b. H
  92.     )
    4 {. n3 c: l7 f; h* t0 I& w0 c! D. t. c5 p
  93.   )
    . W# m  [& c5 i
  94.   (princ)( Y7 l; B% t# q
  95. )
复制代码

点评

这是什么?代码?用于CAD?  详情 回复 发表于 2018-3-15 10:26

评分

参与人数 1三维币 +10 收起 理由
2005llnn + 10 技术讨论

查看全部评分

 楼主| 发表于 2015-1-19 20:34:06 | 显示全部楼层 来自: 中国北京
tangcarlos3d 发表于 2015-1-19 14:23 static/image/common/back.gif) B, K4 y! m/ q3 I
已知椭圆的中心点,将3点代入椭圆的一般方程,用解析几何的方法计算即可。

9 h" D0 W6 P7 C9 B$ d可以不解方程,有纯几何方法解的(指能作出椭圆的长短轴的方向与长度)。
 楼主| 发表于 2015-1-19 20:45:01 | 显示全部楼层 来自: 中国北京
本帖最后由 gongwen0519 于 2015-1-19 20:55 编辑 ! R/ ^3 w% L. o  f' i1 ]9 ?
woaishuijia 发表于 2015-1-19 19:43 static/image/common/back.gif
5 P% s" i" `. P* I4 x0 ^再来个LISP

6 e3 c8 H! A) b  ~# r
) H+ \& L0 j8 k5 Y& B) ~. H: Dwoaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码,手工复制或清理太费时间),谢谢。。+ t3 K5 C* p$ e! _) E
) [$ i, h8 k1 k# e# ~) d
看来大家和曾经的楼主一样,看到圆锥二次曲线就生威蹙眉。
) G3 u8 @7 X. @5 A2 J+ v0 m* y( ]: R1 S2 C% m: ^
如果用尺寸约束与驱动,把椭圆约束到这些参数上也是可以的呀。( e, q# Q  K- E1 Z. z6 X
/ N& x7 C5 C, X% \- U' X
谢谢woaishuijia版主的VBA与lsp,今后工作中我就用您的程序了。+ g" g% R+ Z0 w! B# n& d1 J/ S
' i% J; ]- i9 `' O) i) G3 z
为增加活跃一下的气氛,我还是稍后整理公布一下过程不是“很”复杂的几何作法吧。
发表于 2015-1-19 22:02:32 | 显示全部楼层 来自: 中国辽宁大连
能给出长轴和短轴的公式吗?和水平角度的计算
发表于 2015-1-19 23:10:51 | 显示全部楼层 来自: 中国辽宁营口
本帖最后由 woaishuijia 于 2015-1-19 23:25 编辑 ' l$ d; n0 a: @% H
gongwen0519 发表于 2015-1-19 20:45 http://www.3dportal.cn/discuz/static/image/common/back.gif# v: F8 L9 e3 L7 c
woaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码, ...

: {' b% r, U, p  S. @
9 Q9 A/ U4 N/ B C3PE.rar (4.96 KB, 下载次数: 25)
 楼主| 发表于 2015-1-20 00:04:33 | 显示全部楼层 来自: 中国北京
lisc2000 发表于 2015-1-19 22:02 static/image/common/back.gif
4 G# C; ]  j; s& M/ P: F' r( x8 E( N能给出长轴和短轴的公式吗?和水平角度的计算

! y+ A* q8 Z4 C9 }/ x3 a3 Y9 f已经整理好一种几何解法:
# d3 R$ I/ C$ [) _1 w% W: p' K, u" T6 L/ s; f& y- Y5 A
前面的说明:+ {( W2 _! I5 y2 N
# h9 C# }: J. @/ n0 R4 v
d001.png " }$ G, ]! X4 Q) C3 ]0 }+ L5 V. c

. ]% Q# |4 D  t, \3 d& c作图过程:6 _+ j  A6 K" y% |; y" T* @' L0 b
5 }  z1 V" a3 |% ?# L
d002.png
  @7 @. T8 a" a0 X6 z7 x7 n9 N& K9 g# y6 A& E/ u, ^: X
d003.png
. r; e+ Q# ^% r下图是OP的作法:
* j9 N% I# J* C4 U& C$ u d004.png $ [  |  a! n3 V; p
最后完成椭圆的长短半轴:
) w: R3 f# l3 D7 O+ |; i  m% d! Q0 l/ z0 i+ _
d005.png
+ M( w: w# b% u& y
" `+ g! I- U6 {2 v, V$ ]8 y0 n3 a9 y& o: e! e- u. r- Q

评分

参与人数 1三维币 +30 收起 理由
2005llnn + 30 技术分享

查看全部评分

 楼主| 发表于 2015-1-20 00:11:41 | 显示全部楼层 来自: 中国北京
woaishuijia 发表于 2015-1-19 23:10 static/image/common/back.gif
4 ]" P& l2 h) |2 m
谢谢,收藏了。
发表于 2015-1-20 13:46:59 | 显示全部楼层 来自: 中国天津
学习了。     
发表于 2018-3-15 10:26:44 | 显示全部楼层 来自: 中国浙江宁波
woaishuijia 发表于 2015-1-19 19:43
3 Z2 Y; p  ~1 I7 s7 m# S" z; U! E/ O再来个LISP
, \* V- _  H: u/ Q8 q4 O, Z
这是什么?代码?用于CAD?

点评

是的。AutoCAD是一款极为优秀的二次开发平台软件,支持多种(比如C、.net、LISP、VBA、脚本)编程工具(语言)。用户可用其创制属于自己的个性化命令。一些常见的国产CAD软件(如PCCAD、开目、机械工程师等)就是在  详情 回复 发表于 2018-3-15 17:31
发表于 2018-3-15 17:31:39 | 显示全部楼层 来自: 中国北京
小草包 发表于 2018-3-15 10:26
. i  Z- n# A" Q' d, `这是什么?代码?用于CAD?
, v3 U: }! B! O6 Z6 ^" Z7 Y
是的。AutoCAD是一款极为优秀的二次开发平台软件,支持多种(比如C、.net、LISP、VBA、脚本)编程工具(语言)。用户可用其创制属于自己的个性化命令。一些常见的国产CAD软件(如PCCAD、开目、机械工程师等)就是在这个平台上二次开发的绘图软件产品。本帖的二楼、四楼就是针对楼主所提问题,分别用VBA和LISP编写的“已知中心及其上三点作椭圆”命令的程序代码。八楼附件是包含程序的工程文件,在AutoCAD绘图界面的“工具”菜单下使用相应的命令加载工程文件后,就可以像平时使用CAD命令画直线、画圆一样,使用这个自制命令,根据已知中心及其上三点画出椭圆了。
发表于 2018-3-15 20:02:56 | 显示全部楼层 来自: 中国浙江宁波
TOPSOLID 6 `& x2 I* t6 s/ w$ g7 ^2 u4 N
用中心点加圆上两点即可

点评

做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。  详情 回复 发表于 2018-3-16 05:11
发表于 2018-3-16 05:11:36 | 显示全部楼层 来自: 中国北京
JCKFC1997 发表于 2018-3-15 20:02. y- b# h+ O* d3 d# k, _
TOPSOLID
, W+ r. d3 t4 ^3 o! i* Z用中心点加圆上两点即可
. ]& Z1 I4 d# @
做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。
发表于 2018-3-22 17:16:50 | 显示全部楼层 来自: 中国浙江宁波
可以吼出来啊/ O- y7 s, x. h9 O

可以

可以

点评

已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。 下图是根据相同的条件随便画的几个,自己看。  详情 回复 发表于 2018-3-27 00:41
发表于 2018-3-27 00:41:25 | 显示全部楼层 来自: 中国北京
本帖最后由 woaishuijia 于 2018-3-27 00:42 编辑
% Q6 Z* Z3 y+ M; o, P7 B4 H
JCKFC1997 发表于 2018-3-22 17:16
# S6 s- O0 b2 z6 O8 n0 M可以吼出来啊

* Z5 _4 h; W5 _3 u! e已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。
/ ^1 _  I, v* c; t: e下图是根据相同的条件随便画的几个,自己看。
$ P, P' X" |' Q: c4 M! p% S7 E. q  ]# p; a
捕获.PNG
发表于 2018-11-11 09:32:10 | 显示全部楼层 来自: 中国广东佛山
下载个程序用用。
发表于 2018-12-3 09:59:14 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2015-1-19 12:32  a4 x( q2 f) C
怎么没人回呢?

" Q- y) M  I' p# a' e4 B$ ~请教一下版主,现在CAD编程方面,学习LISP和VBA各有什么优缺点?初学想学习编程,想询问一下版主学习哪个更合适一些?

点评

简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面向对象的编程工具,通过图形界面和代码操纵CAD的内核。它的编程界面很友好,特别是程序中需要使用用户窗口或对  详情 回复 发表于 2018-12-5 23:23
发表于 2018-12-5 23:23:13 | 显示全部楼层 来自: 中国北京
kuangben8 发表于 2018-12-3 09:59' q4 i- E5 }4 b: D& c% \
请教一下版主,现在CAD编程方面,学习LISP和VBA各有什么优缺点?初学想学习编程,想询问一下版主学习哪个 ...
$ h4 i' i& Z  e0 ^1 g
简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面向对象的编程工具,通过图形界面和代码操纵CAD的内核。它的编程界面很友好,特别是程序中需要使用用户窗口或对话框时很方便。但它是使用上一代WINDOWS核心技术(.COM)的,现在微软已经停止了对它的更新。LISP是一种“表语言”,属于比较古老的东西了,流行于当年没有WINDOWS,甚至没有操作系统的年代。只有纯粹的代码,没有图形界面。但它是欧得克公司自己的产权(收购的),相信只要AutoCAD软件还活着,这种语言就死不了。LISP又分为LISP和VLISP,LISP是直接调用CAD前台命令,编程过程和画图过程很相似。VLISP增加了对CAD内核的调用——相当于间接使用VBA,但没有VBA的图形界面。对于能够熟练使用CAD画图,但没有编程基础的童鞋来说,LISP更容易上手,可以先学它。如果需要,以后再学VBA或VLISP(二者是相通的)。

评分

参与人数 1三维币 +5 收起 理由
2005llnn + 5 感谢您解答了求助的问题。

查看全部评分

发表于 2018-12-8 18:04:39 | 显示全部楼层 来自: 中国
woaishuijia 发表于 2018-12-5 23:23
9 t- N% @& R1 w+ q8 r2 w简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面 ...
( P# z3 K+ r0 S- A: Z1 I
好的,感谢版主大大。。。我初学了EXCEL的编程,感觉还可以,所以就想结合CAD编程,尝试在借助excel中的数据,自动完成在CAD中的绘图。不知道这个想法是否可以实现?

点评

EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编程简直易如反掌。而且VBA的一大优势就是在支持VBA的软件之间交换数据,所以你说的“借助excel中的数据,自动完  详情 回复 发表于 2018-12-8 20:33
发表于 2018-12-8 20:33:32 | 显示全部楼层 来自: 中国北京
kuangben8 发表于 2018-12-8 18:04
& z0 D* }6 z( S& Y5 q2 g好的,感谢版主大大。。。我初学了EXCEL的编程,感觉还可以,所以就想结合CAD编程,尝试在借助excel中的 ...

) r$ ]7 Q+ ~' JEXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编程简直易如反掌。而且VBA的一大优势就是在支持VBA的软件之间交换数据,所以你说的“借助excel中的数据,自动完成在CAD中的绘图”就是自然而然的事。
发表于 2018-12-8 21:17:27 | 显示全部楼层 来自: 中国
woaishuijia 发表于 2018-12-8 20:33
& @- b" j; e# {, S; X6 sEXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...
+ k: U, k# M/ n3 u% r
好的,感谢版主大大!给了我很大的信心!
发表于 2019-1-29 12:43:15 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2018-12-8 20:339 W3 q8 Y" }" ~, h5 t3 c
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...

  ?, \5 V" L$ p* E2 V老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻烦多了!没有录制宏,我该怎么学习CAD的VBA呢?

点评

把邮箱给我  详情 回复 发表于 2019-1-30 22:13
发表于 2019-1-30 22:13:09 | 显示全部楼层 来自: 中国北京
kuangben8 发表于 2019-1-29 12:43/ ]! z" x: d5 K% T
老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻 ...

" H% U2 i. O6 ^3 Q把邮箱给我
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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