QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
5天前
查看: 7484|回复: 32
收起左侧

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

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

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

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

x
本帖最后由 gongwen0519 于 2015-1-14 00:21 编辑
6 y% x4 a1 n6 S  V) R4 j- E) G2 z' p' N" q  L
本题是继这个http://www.3dportal.cn/discuz/fo ... ead&tid=1449246【作出最长值(不限软件)】帖子而来,该帖椭圆中心可知,同时也可以随便得到椭圆上的三点。2 I) g: {, O) y. E# \! a7 D1 h$ t
0 [4 m+ U7 y* e/ a
几何作图作出OX、OY的方向与长度即可,ACAD则画出整个椭圆:( {. X1 C- [1 h: m/ m

4 u7 ~$ V! D4 I: o  E- f: M(这类问题在工程实际中很实用。)
6 X2 Q7 C; ]% q. o5 w$ _3 p7 C1 }
tuoyuan.png : C" L9 ]% G4 k$ m7 d

评分

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

查看全部评分

发表于 2015-1-19 12:32:28 | 显示全部楼层 来自: 中国辽宁抚顺
怎么没人回呢?
  1. Sub C3PE()
    : `5 n! a2 S! F2 `0 s9 F$ S  L
  2. Dim P0(2) As Double, P1 As Variant, P2 As Variant, P3 As Variant, P4 As Variant
    " x2 a0 A4 K: n& b$ w* J$ G
  3. Dim X1 As Double, Y1 As Double, X2 As Double, Y2 As Double, X3 As Double, Y3 As Double7 W& ?* E$ q' Q% I, B/ C3 o  x
  4. Dim A As Double, B As Double, C As Double, F As Double, Ang As Double, R1 As Double, R2 As Double
    5 J" W+ K) l& ?& z3 ~* [
  5. On Error GoTo 10' k  A; w. R; f6 E" s
  6. With ThisDrawing) O  x& x& V7 w7 S
  7. P1 = .Utility.GetPoint(, "指定中心点")
    - Q3 A! t- V; T& ~# W' ^+ }6 `
  8. P2 = .Utility.GetPoint(, "指定第一点")# Z) p8 E' ?' F
  9. P3 = .Utility.GetPoint(, "指定第二点")# d& e8 M4 v5 Q3 V2 h2 Z
  10. P4 = .Utility.GetPoint(, "指定第三点")0 Z& D) c. `6 C# I  C
  11. X1 = P2(0) - P1(0)$ y  j* d2 R- j: h. i4 J
  12. Y1 = P2(1) - P1(1); j% ^2 q: Q$ R, N% O, g& ]
  13. X2 = P3(0) - P1(0)
    ( h  |( o2 U" Y+ C0 c& ]
  14. Y2 = P3(1) - P1(1)
    / z$ Y- S4 H# U2 e
  15. X3 = P4(0) - P1(0)# o2 [0 p; T" L$ ?3 H- |% h  h
  16. Y3 = P4(1) - P1(1)
    . n! R0 T/ n; u9 n" |& ^
  17. A = (X1 * Y1 - X2 * Y2) * (Y1 ^ 2 - Y3 ^ 2) - (X1 * Y1 - X3 * Y3) * (Y1 ^ 2 - Y2 ^ 2)
    " e' x/ q( t' W' X' b
  18. If A <> 0 Then$ X7 t2 m8 g5 B" ]: z
  19. B = ((X1 ^ 2 - X2 ^ 2) * (X1 * Y1 - X3 * Y3) - (X1 ^ 2 - X3 ^ 2) * (X1 * Y1 - X2 * Y2)) / A
    1 {7 J- d' J7 N$ O) k
  20. C = ((X1 ^ 2 - X3 ^ 2) * (Y1 ^ 2 - Y2 ^ 2) - (X1 ^ 2 - X2 ^ 2) * (Y1 ^ 2 - Y3 ^ 2)) / A
    * U. a9 o( @* \# [0 C) d; ?2 k4 I
  21. F = -X1 ^ 2 - B * Y1 ^ 2 - C * X1 * Y1
      R. A) M( M% W9 N, B
  22. If C = 0 Then* F  y) N( D$ Q! Y# G& }0 D! M& u
  23. If B > 0 And F < 0 Then& k/ @# b' B9 e. {
  24. Ang = 0' z5 G6 D1 O3 b9 y
  25. R1 = Sqr(-F)
    # j$ S+ o9 ?8 W7 U6 [. p; y+ A; X0 F
  26. R2 = Sqr(-F / B)
    & _0 R" M% Q# E# ?* C5 t
  27. Else
    ' k- X2 c! G& R  z
  28. Exit Sub( `; z0 }7 L$ w0 o
  29. End If
    6 c/ K& l  p# k: |- c' X
  30. Else* x, ?& J: C. E. k1 N
  31. If B = 1 Then! w1 I. Y/ ]: d
  32. If F < 0 And C > -2 And C < 2 Then
    - ~1 ]8 o2 H6 Y$ j. r( t3 l
  33. Ang = .Utility.AngleToReal(45, acDegrees)- Z% k8 k9 Y) w6 k" m) O
  34. R1 = Sqr(-2 * F / (2 + C))+ a  ]( E9 }1 B& \& r+ I
  35. R2 = Sqr(-2 * F / (2 - C))5 G! e% A2 x7 `: `( N2 n! o
  36. Else
    6 \1 a6 X# U! @; q( C  r0 O
  37. Exit Sub
    4 W5 [+ a, r+ z4 g. ?6 Z* |# K
  38. End If
    $ x" ]# H9 q! x
  39. Else
    % Q+ X- e3 L1 k% d' C
  40. Ang = Atn(C / (1 - B)) / 26 Y4 x. W% O3 R4 k9 n
  41. If Ang < 0 Then Ang = Ang + .Utility.AngleToReal(90, acDegrees)
    + A, U% v- S' ~. }$ `0 x1 i
  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 _( f$ B7 e. ^- M5 Q8 ]7 v
  43. B < -1 And F > 0 And C > (B + Tan(Ang) ^ 2) / Tan(Ang) And C < -(1 + B * Tan(Ang) ^ 2) / Tan(Ang) Then+ L! S, n* _1 S/ i
  44. R2 = -F * (1 + Tan(Ang) ^ 2)7 F( k0 P5 g, v2 S% z4 a$ P
  45. R1 = Sqr(R2 / (1 + B * Tan(Ang) ^ 2 + C * Tan(Ang)))
    6 s9 A& C: I4 C% O$ ?
  46. R2 = Sqr(R2 / (B + Tan(Ang) ^ 2 - C * Tan(Ang)))
    3 y( S2 E9 C' a( \% D
  47. Else
    , r$ m$ u7 a; r
  48. Exit Sub
    ) E9 }  {/ d% M3 N
  49. End If) e' T0 S" e% v  h! g8 V
  50. End If
    ; B9 t, Y- p/ d9 M7 b: b" T
  51. End If
    ' v! Q. c( r% e) m  P* G1 X
  52. Else
    ) c, c+ S; B1 M# Z, R
  53. Exit Sub4 g8 n9 I) j! @; M
  54. End If
    9 y# y" ]$ X; s& \" D  J" E: \
  55. If R2 < R1 Then% C) E! V# _: G. F" r6 t; n+ e
  56. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang, R1), R2 / R1
    : K! D3 [  N  d( Y) X( u, S
  57. Else
    ! m3 P& F2 w- \+ J; ]4 V
  58. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang + .Utility.AngleToReal(90, acDegrees), R2), R1 / R2
    . I) W2 _& a, Z$ T- m
  59. End If5 m9 \. I8 Y# M; v# f7 l- Q
  60. End With
    8 I* s3 G# Z. e+ q
  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 编辑
" b' z) E% O1 v0 m/ b( V  O5 A  N2 p  m1 _
再来个LISP
  1. (defun c:c3pe7 [3 g/ o; S" P1 m3 |
  2.        (/ old p0 p1 p2 p3 p4 x1 y1 x2 y2 x3 y3 a b c f ang r1 r2)' Y1 V4 W1 e+ }6 h% F/ w, t
  3.   (setvar "CMDECHO" 0), W, q: Q; r1 ~( @) v0 C3 j% i
  4.   (setq p0 (list 0 0 0)
    ( S; O& s7 T- b1 v# n
  5. p1 (getpoint "\n 指定中心点:")
    & I6 I& f* y# g1 F) @
  6. p2 (getpoint "\n 指定第一点:")2 t2 M# H' @% ^: r8 w
  7. p3 (getpoint "\n 指定第二点:")8 B* F1 q$ m' G$ ^3 D
  8. p4 (getpoint "\n 指定第三点:")
    ( n- N9 @! s- K
  9. a  (car p1)% Q5 T: ]- [* y$ R# X& R8 H2 w
  10. b  (cadr p1)
    . t9 j; O; ~' A6 I
  11. x1 (- (car p2) a)2 f! g* Y, T! h* h, @1 w2 `' m5 a
  12. y1 (- (cadr p2) b)
    : R+ H( J6 P! S9 L/ o9 I. A
  13. x2 (- (car p3) a)8 {6 g# q; z  e/ v: |% _
  14. y2 (- (cadr p3) b)
    * D9 p* F1 {) i4 @4 a, e9 W
  15. x3 (- (car p4) a)3 n, W: O( k! X) D" c
  16. y3 (- (cadr p4) b)
    0 x& S& C$ Y7 a% f7 P! b' [
  17. a  (- (* (- (* x1 y1) (* x2 y2)) (- (* y1 y1) (* y3 y3)))( {; S9 V. ?1 V% d0 @
  18.        (* (- (* x1 y1) (* x3 y3)) (- (* y1 y1) (* y2 y2)))
    9 g5 r1 \3 y3 V# i$ O' s
  19.     )
    3 u8 ?, M# N+ u$ b" h8 \  s
  20.   )
    3 w* M: E3 d4 T  Q
  21.   (if (/= a 0.0); x8 v% V7 U1 b  J: ?
  22.     (progn
    : p# d8 t4 C) |/ l- o/ l: q) G; S
  23.       (setq b (/ (- (* (- (* x1 x1) (* x2 x2)) (- (* x1 y1) (* x3 y3)))
    5 e3 x4 a6 |1 U1 D. B
  24.       (* (- (* x1 x1) (* x3 x3)) (- (* x1 y1) (* x2 y2)))
    5 `% h5 o/ r$ I& \7 r9 x$ t
  25.    )
    & K* ~* q9 J) u% f% e
  26.    a8 i3 L  ?- B7 E: }
  27.        )
    ) V- Z+ R) M, g. _3 ?! l( |; t
  28.      c (/ (- (* (- (* x1 x1) (* x3 x3)) (- (* y1 y1) (* y2 y2)))
    # B3 D4 R$ C( X2 {1 B: l2 w7 f1 ]: ~
  29.       (* (- (* x1 x1) (* x2 x2)) (- (* y1 y1) (* y3 y3)))
    + c' W1 }8 P& M( ^8 f
  30.    )
    5 j. l* v" S# A6 U0 g
  31.    a# B7 `8 W$ w% r( w+ d# L  P3 v
  32.        )& v# ?  @0 }, a! F" W7 M3 ?
  33.      f (- 0 (* x1 x1) (* b y1 y1) (* c x1 y1))
    7 ~; K: d- u" ?& f
  34.       )8 ^8 [( J' I' U  T3 I. V
  35.       (if (zerop c)( G# P/ y; P  F; M# }! s
  36. (if (and (> b 0.0) (< f 0.0))
    ; h2 i% e) f/ m; [2 |" K+ l" B
  37.    (setq ang 0.0
    . V; T5 Y* n2 F' Q
  38.   r1  (sqrt (- 0 f))# n6 e: O, P7 v. F( v& [
  39.   r2  (sqrt (- 0 (/ f b)))
    / U& K9 F: [+ O+ i4 Q$ O
  40.    ); f0 W: N9 E& }8 R$ ~3 n% f, P
  41. )
    3 T! u' F. `" M% |# o
  42. (progn. W2 Y+ X6 I3 g7 ^5 B( m7 W5 F3 [
  43.    (if (= b 1.0)
    ) F. M! _# \6 [$ x/ G
  44.      (if (and (< f 0.0) (> c -2.0) (< c 2.0))
    ( {+ i+ i( U# j" g
  45.        (setq ang (/ pi 4)
    7 r  |2 @+ ?( H3 B5 ^
  46.       r1 (sqrt (* -2 (/ f (+ 2 c))))2 G9 k. t9 r7 b- ]- `/ l
  47.       r2 (sqrt (* -2 (/ f (- 2 c))))
    & x) g: }# g( p: {
  48.        )  ^4 Q: o' m  u- e
  49.      )
    4 B4 M$ M4 [) S
  50.      (progn
    ( z' F+ S3 V" U
  51.        (setq ang (/ (atan (/ c (- 1 b)))/ H. G: v% b! \- M* M
  52.       2
    : z* s. H, T9 x! o. O, B" F  k
  53.    ); K, [: o6 @8 G3 p, N
  54.        )! a9 U, b+ G" @: ?/ l' f
  55.        (if (< ang 0.0)$ V% s) U0 I0 G$ C% h( F
  56.   (setq ang (+ ang (/ pi 2)))' _1 w: F! p, W/ i( k  K# |8 w3 ~
  57.        )
    , {5 R; O9 U# B
  58.        (setq a (/ (sin ang) (cos ang)))4 r+ x' }$ n  Q0 E" l9 w# ~
  59.        (if (or (and (> b -1.0)
    4 w7 k6 n1 i! P4 C% ]
  60.       (< f 0.0)  i& h  B4 F. Y2 a3 l# s
  61.       (> c (/ (- -1.0 (* b (* a a))) a))
    : k# T4 J6 o4 v) D1 T6 X! F
  62.       (< c (/ (+ b (* a a)) a))1 k- G) q. h+ Y' h6 i8 L' m
  63.         )3 R: n# D- p) v5 ^/ n
  64.         (and (< b -1.0)
    , S( w* c( ^5 \
  65.       (> f 0.0)9 e' P- i' X3 j: L/ m9 G
  66.       (> c (/ (+ b (* a a)) a))2 i+ T8 J0 v8 ?" X  A/ Y
  67.       (< c (/ (- -1.0 (* b (* a a))) a))
    : [6 ~7 S' C8 G% g: Z  @8 t- a) ?
  68.         )
    3 j) H: y  V$ W2 [: a7 E
  69.     )7 r" [% N1 u1 N5 G5 K1 f
  70.   (setq r2 (* -1 f (1+ (* a a)))
    ' U, B; B: I' M; n
  71.         r1 (sqrt (/ r2 (+ 1 (* b a a) (* c a))))
    4 B5 R0 t2 g( J2 L
  72.         r2 (sqrt (/ r2 (- (+ b (* a a)) (* c a))))8 z6 n1 u# x: G4 a& I6 g
  73.   )
    6 V; r$ W$ `* E
  74.        )
    2 v7 B/ e) `: t0 y0 B9 c
  75.      )
    ! J2 _  E  A% |
  76.    )
    , V& M8 u7 C9 u: e' `5 o1 [
  77. )& n* [6 f. r( S2 `: J, q' k" y
  78.       )8 D: t4 l- R+ E7 o: O% E
  79.     )
    7 L9 T' g1 W# r5 i8 U. P
  80.   )
    ' W  h2 n/ f& p
  81.   (if r1
    & ^0 i2 w( }; S, t+ ^
  82.     (progn
    4 v3 g) k" L3 R. m+ m
  83.       (setq old (getvar "OSMODE"))
    : D: ]( Y2 Z* Z: X& L) j, K  t! ?' `
  84.       (setvar "OSMODE" 0)
    3 f7 u% C2 p( O0 n1 G
  85.       (command "ellipse"
    % Y  O6 F: y" S! m; W6 H3 r  M' h
  86.         "c"
    0 q( P; C: h8 h& F3 e2 D
  87.         p1( G9 A+ T& N6 I0 z0 J* M
  88.         (polar p1 ang r1)
    8 s! C: t( [* \/ D
  89.         r21 a0 N+ Y' n, p# C4 N7 R, ]/ J
  90.       )
    - n6 q. ?* U: G( H( ^
  91.       (setvar "OSMODE" old)- g& j, F& e- f, z' A* t
  92.     )
    : k0 K7 q0 J" _) M7 |7 v
  93.   )5 _9 W$ j9 ~3 f# ?! c
  94.   (princ)
    8 y  E# |8 R; L/ R# Z. x
  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
" `+ J. A/ u5 W: d% E$ }- H6 O已知椭圆的中心点,将3点代入椭圆的一般方程,用解析几何的方法计算即可。

+ k/ A) V: ~3 r' B& ]可以不解方程,有纯几何方法解的(指能作出椭圆的长短轴的方向与长度)。
 楼主| 发表于 2015-1-19 20:45:01 | 显示全部楼层 来自: 中国北京
本帖最后由 gongwen0519 于 2015-1-19 20:55 编辑 2 \5 m5 f8 ?4 e( t: c2 C2 g- j7 ~
woaishuijia 发表于 2015-1-19 19:43 static/image/common/back.gif
  Q9 q: A" e4 S# z8 E5 y再来个LISP

' M- C7 j, |8 ?4 j0 C- w$ w: K  @# g  P- _2 o0 l  R" u+ h( Z
woaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码,手工复制或清理太费时间),谢谢。。
# o- q1 ~, ~* G. l1 x2 ~1 G1 c+ f2 Y2 r" j% A. d
看来大家和曾经的楼主一样,看到圆锥二次曲线就生威蹙眉。2 {) H+ M5 @) Y! n

+ C% H# ?( ^/ k如果用尺寸约束与驱动,把椭圆约束到这些参数上也是可以的呀。3 F% x% ?; k% \/ M# t0 }* p
4 ]+ u  H( e6 v/ j/ x* M
谢谢woaishuijia版主的VBA与lsp,今后工作中我就用您的程序了。
3 s$ ~# M- ^- n/ m, }
* v1 u/ D& M5 F  B" u为增加活跃一下的气氛,我还是稍后整理公布一下过程不是“很”复杂的几何作法吧。
发表于 2015-1-19 22:02:32 | 显示全部楼层 来自: 中国辽宁大连
能给出长轴和短轴的公式吗?和水平角度的计算
发表于 2015-1-19 23:10:51 | 显示全部楼层 来自: 中国辽宁营口
本帖最后由 woaishuijia 于 2015-1-19 23:25 编辑 6 A: W9 \; y) Z: a& {+ S0 s
gongwen0519 发表于 2015-1-19 20:45 http://www.3dportal.cn/discuz/static/image/common/back.gif! o- m6 z5 Y( A) T! w9 D: A! l
woaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码, ...

) y$ P. M6 X& w0 B3 w7 I$ t7 a) p6 n( @  R
C3PE.rar (4.96 KB, 下载次数: 25)
 楼主| 发表于 2015-1-20 00:04:33 | 显示全部楼层 来自: 中国北京
lisc2000 发表于 2015-1-19 22:02 static/image/common/back.gif! }; m/ k9 `: ]9 x# S  u
能给出长轴和短轴的公式吗?和水平角度的计算
+ K+ l9 G; ^" K! q( p
已经整理好一种几何解法:0 O! I6 U6 P& T4 x
7 p0 S( D9 @  I0 t! E. {# K: e
前面的说明:
; a  A& J" H7 L$ D8 b) F+ v, V$ A4 c6 D4 j7 @) A0 I
d001.png ' Y" d6 e: [* d

2 `7 |% n" a* i, q6 J作图过程:+ j8 {! H  s! u' W" g1 ^' C
& k' O5 M. q; ~. w
d002.png - c0 `+ x/ y+ L. s( R  q6 Q

/ S8 |  [7 l: u# W) k1 X; X d003.png
; X0 X0 G( d4 l, v, Z下图是OP的作法:2 O5 w. h. w# f
d004.png 1 L+ n+ w: v: y4 J
最后完成椭圆的长短半轴:
) q. M- H& F2 F# `$ i0 n9 D, U! ]/ z3 q: p+ ]# I4 W* C) Y  Q
d005.png # s9 d. ]0 w  Q# z5 Z) P* o
5 i2 A" Y  v( S: Q3 @
' d* U/ V& m7 F. v% B* k# m

评分

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

查看全部评分

 楼主| 发表于 2015-1-20 00:11:41 | 显示全部楼层 来自: 中国北京
woaishuijia 发表于 2015-1-19 23:10 static/image/common/back.gif

! B6 R  X9 B$ o* b& @# `" A谢谢,收藏了。
发表于 2015-1-20 13:46:59 | 显示全部楼层 来自: 中国天津
学习了。     
发表于 2018-3-15 10:26:44 | 显示全部楼层 来自: 中国浙江宁波
woaishuijia 发表于 2015-1-19 19:43
7 C# R: _/ w5 n再来个LISP

* \" y0 n, E4 V, k这是什么?代码?用于CAD?

点评

是的。AutoCAD是一款极为优秀的二次开发平台软件,支持多种(比如C、.net、LISP、VBA、脚本)编程工具(语言)。用户可用其创制属于自己的个性化命令。一些常见的国产CAD软件(如PCCAD、开目、机械工程师等)就是在  详情 回复 发表于 2018-3-15 17:31
发表于 2018-3-15 17:31:39 | 显示全部楼层 来自: 中国北京
小草包 发表于 2018-3-15 10:26
9 b7 S" L6 c$ l% U4 Y, I这是什么?代码?用于CAD?
! X. Q6 i! W$ ?0 L
是的。AutoCAD是一款极为优秀的二次开发平台软件,支持多种(比如C、.net、LISP、VBA、脚本)编程工具(语言)。用户可用其创制属于自己的个性化命令。一些常见的国产CAD软件(如PCCAD、开目、机械工程师等)就是在这个平台上二次开发的绘图软件产品。本帖的二楼、四楼就是针对楼主所提问题,分别用VBA和LISP编写的“已知中心及其上三点作椭圆”命令的程序代码。八楼附件是包含程序的工程文件,在AutoCAD绘图界面的“工具”菜单下使用相应的命令加载工程文件后,就可以像平时使用CAD命令画直线、画圆一样,使用这个自制命令,根据已知中心及其上三点画出椭圆了。
发表于 2018-3-15 20:02:56 | 显示全部楼层 来自: 中国浙江宁波
TOPSOLID
& Z0 V0 U9 S, P4 k/ o  k- F用中心点加圆上两点即可

点评

做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。  详情 回复 发表于 2018-3-16 05:11
发表于 2018-3-16 05:11:36 | 显示全部楼层 来自: 中国北京
JCKFC1997 发表于 2018-3-15 20:02
2 l1 Y9 G7 N# n( v  }: B1 gTOPSOLID 6 s; }$ T/ L" p+ Y
用中心点加圆上两点即可
: Q4 d1 g6 N4 j6 Y* k- H( l/ }
做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。
发表于 2018-3-22 17:16:50 | 显示全部楼层 来自: 中国浙江宁波
可以吼出来啊
( }* |) B1 e; Q& w1 j% h; ]& I

可以

可以

点评

已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。 下图是根据相同的条件随便画的几个,自己看。  详情 回复 发表于 2018-3-27 00:41
发表于 2018-3-27 00:41:25 | 显示全部楼层 来自: 中国北京
本帖最后由 woaishuijia 于 2018-3-27 00:42 编辑
. |% w8 u+ u+ {5 G+ a" _
JCKFC1997 发表于 2018-3-22 17:168 Y- G" ^5 L; r' b
可以吼出来啊

4 E, S3 w5 ^& K+ E1 B1 M( k已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。
) s3 a! h5 M& y% P0 z下图是根据相同的条件随便画的几个,自己看。
% N# {/ o  q6 _1 d- i( l
" [; x  H0 @) v) w0 b( g% _
捕获.PNG
发表于 2018-11-11 09:32:10 | 显示全部楼层 来自: 中国广东佛山
下载个程序用用。
发表于 2018-12-3 09:59:14 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2015-1-19 12:328 W& @: V+ `  S: B% ~4 R
怎么没人回呢?
1 Q0 H+ o6 c# f. g, u/ _! X
请教一下版主,现在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
9 Q' S  Z% O! [0 o* a  \请教一下版主,现在CAD编程方面,学习LISP和VBA各有什么优缺点?初学想学习编程,想询问一下版主学习哪个 ...
: r' U) ]0 h: R" H! f3 k
简单说,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:234 m9 Y- n8 H5 \+ s' R0 b
简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面 ...

$ O! ^8 p/ }# z' B: t好的,感谢版主大大。。。我初学了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
$ J" b& B2 P& ]' K  `) b好的,感谢版主大大。。。我初学了EXCEL的编程,感觉还可以,所以就想结合CAD编程,尝试在借助excel中的 ...
* R) T8 [& Z" `! V/ c6 F' _! o
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编程简直易如反掌。而且VBA的一大优势就是在支持VBA的软件之间交换数据,所以你说的“借助excel中的数据,自动完成在CAD中的绘图”就是自然而然的事。
发表于 2018-12-8 21:17:27 | 显示全部楼层 来自: 中国
woaishuijia 发表于 2018-12-8 20:33
# V) G$ @! F1 e$ S) CEXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...

/ \1 u! I5 n/ C; G# |" \* w1 Q好的,感谢版主大大!给了我很大的信心!
发表于 2019-1-29 12:43:15 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2018-12-8 20:33
* T( J. D4 c5 ~8 h! `) t6 UEXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...
" h- @% H# W$ O& |% a6 S
老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻烦多了!没有录制宏,我该怎么学习CAD的VBA呢?

点评

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

" `( K& C  G" Z9 i把邮箱给我
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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