QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 7513|回复: 32
收起左侧

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

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

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

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

x
本帖最后由 gongwen0519 于 2015-1-14 00:21 编辑 6 A9 }9 k. Z$ O/ w7 v% b' m8 L
9 ~# m/ D3 m) }( @. M
本题是继这个http://www.3dportal.cn/discuz/fo ... ead&tid=1449246【作出最长值(不限软件)】帖子而来,该帖椭圆中心可知,同时也可以随便得到椭圆上的三点。
: V& I0 [& ?3 C' }; z( u; h" z3 l& I6 r7 u
几何作图作出OX、OY的方向与长度即可,ACAD则画出整个椭圆:
1 x) ]/ r( y# I9 P
) _- K) j+ g7 i& ?(这类问题在工程实际中很实用。)  I8 S, O% i5 ^" T8 r
8 |! B6 ~8 D$ D- Q) Y
tuoyuan.png
' O, {3 l$ `! W# D' F

评分

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

查看全部评分

发表于 2015-1-19 12:32:28 | 显示全部楼层 来自: 中国辽宁抚顺
怎么没人回呢?
  1. Sub C3PE()- S3 v6 ~9 i) m4 e8 O( Z3 [
  2. Dim P0(2) As Double, P1 As Variant, P2 As Variant, P3 As Variant, P4 As Variant
    7 Q3 w& G5 t; h5 Z- p0 l
  3. Dim X1 As Double, Y1 As Double, X2 As Double, Y2 As Double, X3 As Double, Y3 As Double0 y7 u; [& U" w7 T
  4. Dim A As Double, B As Double, C As Double, F As Double, Ang As Double, R1 As Double, R2 As Double
    ! n$ z+ @. W' U
  5. On Error GoTo 10
    * u; C0 R) l1 U. R
  6. With ThisDrawing
    + c% s- d& Z% T
  7. P1 = .Utility.GetPoint(, "指定中心点")  O7 b7 A3 K/ C. F' i
  8. P2 = .Utility.GetPoint(, "指定第一点")  [7 l+ {2 r( J" R
  9. P3 = .Utility.GetPoint(, "指定第二点")# I4 l# s% I8 ?3 C
  10. P4 = .Utility.GetPoint(, "指定第三点")( ]! o- Z: v$ t' U  Y7 g
  11. X1 = P2(0) - P1(0)
    : N0 c$ Z5 K; p3 n
  12. Y1 = P2(1) - P1(1)
    ; d$ ~/ K) r+ }/ B+ P/ A9 j" \
  13. X2 = P3(0) - P1(0)
    2 n0 w& P: o+ }" L( }( V" k, m0 H$ H
  14. Y2 = P3(1) - P1(1)
    ' X+ c  x9 ^2 `1 T4 O5 @! n: m7 _
  15. X3 = P4(0) - P1(0)4 O# j+ k4 }; L3 ^8 i
  16. Y3 = P4(1) - P1(1)
    . |: d2 _! h4 t- k8 F# Q
  17. A = (X1 * Y1 - X2 * Y2) * (Y1 ^ 2 - Y3 ^ 2) - (X1 * Y1 - X3 * Y3) * (Y1 ^ 2 - Y2 ^ 2)
    5 `3 u7 d* a5 W6 Q6 c& g
  18. If A <> 0 Then, f! f0 d: P( r/ d8 f6 D) s
  19. B = ((X1 ^ 2 - X2 ^ 2) * (X1 * Y1 - X3 * Y3) - (X1 ^ 2 - X3 ^ 2) * (X1 * Y1 - X2 * Y2)) / A/ ^. l7 ?# O* ?  S" F; h/ i- |
  20. C = ((X1 ^ 2 - X3 ^ 2) * (Y1 ^ 2 - Y2 ^ 2) - (X1 ^ 2 - X2 ^ 2) * (Y1 ^ 2 - Y3 ^ 2)) / A
    ; T" A  K/ l2 _$ O. `
  21. F = -X1 ^ 2 - B * Y1 ^ 2 - C * X1 * Y1/ c3 p8 j1 J5 K7 b8 Y6 t
  22. If C = 0 Then" Q# Z. i0 q) \. p) }
  23. If B > 0 And F < 0 Then
    + A6 R+ k. x- ~+ _: \4 O
  24. Ang = 04 b8 u2 K8 q/ n0 I7 i" H$ X" [
  25. R1 = Sqr(-F)
    ( m- P% A, Z& E4 D3 }! ?
  26. R2 = Sqr(-F / B)
    ( `0 v% L8 U. s6 |: N) J
  27. Else
    5 n2 J' |5 P( c" \  L. s" c3 w$ Q
  28. Exit Sub
    : H& E$ p7 {" Z1 y- `  ?+ r
  29. End If
    3 ^5 E: a: a- _7 Q
  30. Else
    4 B/ s  G' V) H8 Z
  31. If B = 1 Then
    ' w4 D+ E3 U6 q
  32. If F < 0 And C > -2 And C < 2 Then# C% ]$ y5 g7 @: N% ]" l, k0 }
  33. Ang = .Utility.AngleToReal(45, acDegrees)/ ^' i! p; e5 F( B! e- f
  34. R1 = Sqr(-2 * F / (2 + C))
    " o' b! }# c" x6 n9 Q  E
  35. R2 = Sqr(-2 * F / (2 - C))
    3 u* ]% o1 l) s, M  Z$ s, Z8 V$ a* j" h1 I
  36. Else2 I0 C" V8 O, U4 W8 r8 ]
  37. Exit Sub
    / C8 |' `8 f* g8 I( V5 B
  38. End If3 w* W# u! ]" S( ~1 h( R8 Z7 W4 {) H
  39. Else
    / G& M) `8 g2 E. ]
  40. Ang = Atn(C / (1 - B)) / 2
    2 L# [# }- h" p, M1 ^* [" e
  41. If Ang < 0 Then Ang = Ang + .Utility.AngleToReal(90, acDegrees)
    ) h! y5 d1 Y& y
  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 _8 W3 B( t1 ?+ y! f
  43. B < -1 And F > 0 And C > (B + Tan(Ang) ^ 2) / Tan(Ang) And C < -(1 + B * Tan(Ang) ^ 2) / Tan(Ang) Then
    3 I8 L6 y% Z2 G- g% U+ g: d
  44. R2 = -F * (1 + Tan(Ang) ^ 2)/ F1 v: ^% ^7 A; \
  45. R1 = Sqr(R2 / (1 + B * Tan(Ang) ^ 2 + C * Tan(Ang)))
    ) l7 i* Q/ U- O1 }. T8 L
  46. R2 = Sqr(R2 / (B + Tan(Ang) ^ 2 - C * Tan(Ang))): e9 C0 |7 c: \
  47. Else
    8 V6 }$ Q1 I# J( @
  48. Exit Sub4 U5 y( D( `, Z$ G! i+ {9 I
  49. End If
    : t. {$ \# ~6 m9 [) e+ o
  50. End If5 c+ N9 u6 W/ L* D$ \
  51. End If
    % |% C7 z9 |' o
  52. Else* j: P1 p0 g, S) z- g& X+ O1 K
  53. Exit Sub
    + ^- D; f' W" \  @
  54. End If
    ) V# S7 P5 E$ F8 v2 s/ F7 x
  55. If R2 < R1 Then
    7 y3 o7 l7 @/ [! I, m$ B+ B1 p4 p
  56. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang, R1), R2 / R15 R5 X& s4 j; j4 c$ P0 A
  57. Else% A1 ?; z6 _- K: c
  58. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang + .Utility.AngleToReal(90, acDegrees), R2), R1 / R2) g+ q; M' n# s7 b& g
  59. End If
    $ l4 l3 g/ M* O* A- U+ O4 g  F
  60. End With
    2 m; J" F0 {" T4 x( P% u& r2 G
  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 编辑 5 [( M$ Y  E: I/ c

5 p$ U  @. i/ u! s再来个LISP
  1. (defun c:c3pe
    1 U1 X# [9 G) X
  2.        (/ old p0 p1 p2 p3 p4 x1 y1 x2 y2 x3 y3 a b c f ang r1 r2)
    % D, l& O+ o3 v1 L
  3.   (setvar "CMDECHO" 0)
    + W5 x3 r) G& r) Y/ R- f; v
  4.   (setq p0 (list 0 0 0)
    " D8 Z7 ?2 `% h. d* S3 |- H
  5. p1 (getpoint "\n 指定中心点:")7 h9 d3 R, ]. o2 [* H. }
  6. p2 (getpoint "\n 指定第一点:")3 l' n5 W0 k% D. Z
  7. p3 (getpoint "\n 指定第二点:")
    3 _* r5 B2 h: J/ g2 t
  8. p4 (getpoint "\n 指定第三点:")
      W; C1 q- S3 F( \0 z
  9. a  (car p1)( t( m: s0 o- `' F# D
  10. b  (cadr p1)
    ! k6 I* n3 I; h# X- ^
  11. x1 (- (car p2) a)
    $ I' q. F3 x  G  O0 b4 Y! |" |
  12. y1 (- (cadr p2) b)% r% F% U# {9 z& V* }' ~
  13. x2 (- (car p3) a)
    & _' l, Y4 s! C$ [0 n
  14. y2 (- (cadr p3) b)& ^  }4 ]& j1 H, ~' k/ d
  15. x3 (- (car p4) a)" B7 A, Y3 x) S. \/ n! i
  16. y3 (- (cadr p4) b)9 C; V# H3 G- q- J# v
  17. a  (- (* (- (* x1 y1) (* x2 y2)) (- (* y1 y1) (* y3 y3)))9 i4 r# q  A7 j/ e  }
  18.        (* (- (* x1 y1) (* x3 y3)) (- (* y1 y1) (* y2 y2)))+ `! X% [7 h9 d9 r& m/ B
  19.     )
    # S$ G. x1 |6 y, y
  20.   ). y; j: I" D& ^, K
  21.   (if (/= a 0.0)
    ( I, O6 x) `, G- [
  22.     (progn4 b% d; h/ w/ m- u' m  I
  23.       (setq b (/ (- (* (- (* x1 x1) (* x2 x2)) (- (* x1 y1) (* x3 y3)))
    & ^  V8 Q7 M* ~
  24.       (* (- (* x1 x1) (* x3 x3)) (- (* x1 y1) (* x2 y2)))4 |0 D' N* q6 L% b
  25.    )
    5 c. d6 r+ v( `, Y2 d8 O. v2 {
  26.    a
    9 K9 A; ?1 t  v; g) b7 q4 V& F
  27.        )
    # }0 w2 U4 r* {( l# a
  28.      c (/ (- (* (- (* x1 x1) (* x3 x3)) (- (* y1 y1) (* y2 y2)))) o4 D7 b8 C5 g- Z4 J' r& ~
  29.       (* (- (* x1 x1) (* x2 x2)) (- (* y1 y1) (* y3 y3)))  `' C: ~" B& ~: B. ?) o
  30.    )
    6 E7 i, E( ?  d( {2 h
  31.    a
    ! t4 Q/ m, U' t4 x9 P
  32.        )0 P" Z  Y+ r% U
  33.      f (- 0 (* x1 x1) (* b y1 y1) (* c x1 y1)); u* w! r' ?1 ^% q& O. N
  34.       )
    / Q  r' q3 @2 B+ m" B
  35.       (if (zerop c), C! G3 w* \6 P
  36. (if (and (> b 0.0) (< f 0.0))
    % \' g- i, x) @: A, Z  G& [  Y; H
  37.    (setq ang 0.0: y* L! [! M2 v' D3 Y$ Q) z3 ?$ [) Q
  38.   r1  (sqrt (- 0 f))
    7 N# F& N+ ~9 Y7 M
  39.   r2  (sqrt (- 0 (/ f b)))
    4 h3 V8 z" m9 N, J" h
  40.    )) ]( K" k" {! S2 v
  41. )
    1 C* |3 q& A$ P' Z& O) e1 R6 Z. ~
  42. (progn$ o4 v; i  z3 y( ~) W' j5 |
  43.    (if (= b 1.0)5 ]0 V5 k' \; i$ V' w8 t
  44.      (if (and (< f 0.0) (> c -2.0) (< c 2.0))# t2 J+ \( m9 V9 p/ x  X' ]& Y& B
  45.        (setq ang (/ pi 4)" _5 N. P1 A! n) l0 v4 B
  46.       r1 (sqrt (* -2 (/ f (+ 2 c))))
    . r$ e3 i( Q; c* X/ M  U
  47.       r2 (sqrt (* -2 (/ f (- 2 c))))0 C- j( ]% v( D4 U" [+ @/ _
  48.        )
    ( x% x. ?$ r& R0 B0 V8 g
  49.      )# W% d: N1 i  }$ E: C
  50.      (progn6 l5 h: G2 n- N% ], q  e$ c. y
  51.        (setq ang (/ (atan (/ c (- 1 b)))9 h, ^; c. t6 D5 H- Z; j! T
  52.       2. S, p' z6 ^1 b/ z
  53.    )" q4 e3 h, S: }0 |( J
  54.        )& W5 v: ]6 u' \2 p
  55.        (if (< ang 0.0)
    / B5 ~6 ~3 x& R* \2 i
  56.   (setq ang (+ ang (/ pi 2))). U$ O* F! g9 L6 A$ F% w0 c4 V
  57.        )- ^# t# c8 w* k9 C2 |  i
  58.        (setq a (/ (sin ang) (cos ang)))1 N9 g& x+ p' T5 O2 E
  59.        (if (or (and (> b -1.0)& z! B# J. M2 {* h( C8 }3 c; g
  60.       (< f 0.0)
    - D6 G7 u+ j8 t7 M  l4 l% |
  61.       (> c (/ (- -1.0 (* b (* a a))) a))
    4 E. q1 y3 n: q# Y6 F4 O
  62.       (< c (/ (+ b (* a a)) a))
    % X0 b: O- Q, S1 Y) `/ ?( }" x9 M
  63.         )  r2 o6 y+ [% T  ^4 l3 G5 N# \) k
  64.         (and (< b -1.0): l4 T+ o( j% s9 }
  65.       (> f 0.0)5 v# E( {9 ]9 Q/ a
  66.       (> c (/ (+ b (* a a)) a))
    2 l' r8 r: ^+ K8 h3 t
  67.       (< c (/ (- -1.0 (* b (* a a))) a))  b9 D7 ]* D9 z+ w' F2 ?# |
  68.         ); [$ ?7 t2 \5 y
  69.     )- \# M' ?6 y' C) o
  70.   (setq r2 (* -1 f (1+ (* a a)))% K( ~. t7 G* f9 N, }* d$ }1 U
  71.         r1 (sqrt (/ r2 (+ 1 (* b a a) (* c a))))
    + g  @3 X4 \5 k" \- f* G
  72.         r2 (sqrt (/ r2 (- (+ b (* a a)) (* c a))))8 C2 O4 `! @( q
  73.   )
    7 A& X% D  ?& \/ {  E* _
  74.        )9 ]1 a8 p: g& B+ z
  75.      )
    ' w, M/ r2 R) c* f& r, ^1 U
  76.    )
    6 K2 O9 ?+ c5 d. w( F
  77. )0 h  `' E' Y6 Q$ ^0 Q  l- M% t
  78.       )1 T* M* h; y& @
  79.     )
    . q! B! Z4 v4 E) f
  80.   ); ^7 i6 X1 i4 m; j. D% T. Q* k/ L' N
  81.   (if r17 e$ ~( T6 |& E. s! i2 S) h/ Y
  82.     (progn
    7 S& \& r) ^6 v- o" W6 k$ W
  83.       (setq old (getvar "OSMODE")); L9 x8 Q; T- V
  84.       (setvar "OSMODE" 0)
    7 x. b, \5 b  D9 [. ?
  85.       (command "ellipse"! O* b9 ?+ [% `6 \, h6 Z8 w# F/ i
  86.         "c"- w& C0 [2 x- a* l
  87.         p1
    1 a% }( o0 [3 V+ O8 }
  88.         (polar p1 ang r1)& H5 h# w! i. o  x' I& S+ s4 J& W
  89.         r2' y$ D8 g; V  y5 t# T" ?- v
  90.       )
    3 ?( V' \0 C# T* E1 [, Z
  91.       (setvar "OSMODE" old)" T3 e$ b# K2 h
  92.     )
    & {: c6 ?4 O+ w2 k$ h6 c4 U- n; k
  93.   )- I: `) K. z1 D; U1 F: b
  94.   (princ)+ r; y4 b1 ]$ c# i: z+ z& C4 e
  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# m  n2 ?8 `" J
已知椭圆的中心点,将3点代入椭圆的一般方程,用解析几何的方法计算即可。
/ M1 F& Z7 G# c  q
可以不解方程,有纯几何方法解的(指能作出椭圆的长短轴的方向与长度)。
 楼主| 发表于 2015-1-19 20:45:01 | 显示全部楼层 来自: 中国北京
本帖最后由 gongwen0519 于 2015-1-19 20:55 编辑
* a$ Y; O1 v5 g
woaishuijia 发表于 2015-1-19 19:43 static/image/common/back.gif* A% C2 F4 i, q0 M% C9 @1 G+ Y9 \
再来个LISP

. {5 r( X/ b) {: g9 z( R% R; c6 H6 i) j9 _
woaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码,手工复制或清理太费时间),谢谢。。) F1 ?5 H% l) N2 S

' ^& i$ w# `; w' ?1 k. ^+ V看来大家和曾经的楼主一样,看到圆锥二次曲线就生威蹙眉。5 j, P! B5 r+ l# D1 {0 z
) B1 V* `: _* l0 N
如果用尺寸约束与驱动,把椭圆约束到这些参数上也是可以的呀。, W( H& }$ I& G' c6 Z

+ q  E+ n1 ]5 q2 J谢谢woaishuijia版主的VBA与lsp,今后工作中我就用您的程序了。, Y0 R9 p% t, l% D2 V: I& h  B; \
( s- \/ X' f* s/ q% q; N
为增加活跃一下的气氛,我还是稍后整理公布一下过程不是“很”复杂的几何作法吧。
发表于 2015-1-19 22:02:32 | 显示全部楼层 来自: 中国辽宁大连
能给出长轴和短轴的公式吗?和水平角度的计算
发表于 2015-1-19 23:10:51 | 显示全部楼层 来自: 中国辽宁营口
本帖最后由 woaishuijia 于 2015-1-19 23:25 编辑 9 E' J# |* H+ f2 p
gongwen0519 发表于 2015-1-19 20:45 http://www.3dportal.cn/discuz/static/image/common/back.gif
6 l6 S, ^7 H. D6 a. cwoaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码, ...

/ o4 O# |$ j, y% M3 n
. L% B* y6 T4 M, ^$ m4 l C3PE.rar (4.96 KB, 下载次数: 25)
 楼主| 发表于 2015-1-20 00:04:33 | 显示全部楼层 来自: 中国北京
lisc2000 发表于 2015-1-19 22:02 static/image/common/back.gif- m2 y" h2 }+ ^+ v& P9 i& u: Q
能给出长轴和短轴的公式吗?和水平角度的计算
7 l3 x: p+ A& ]; e8 T- V  U( {( f
已经整理好一种几何解法:
4 e3 `+ q; D* a$ o6 Q$ u2 S
2 @1 Q' W4 ?  z  T前面的说明:
6 O' h$ K3 [4 W7 z
2 @3 o  b0 _* z0 N7 s, X% S7 O d001.png
' ?) ?  g/ u6 n3 |5 K  h7 \9 i5 H- a9 Q0 U
作图过程:* x. u, T# c; ~

# f/ Z9 b8 h. j9 ]! ]8 ` d002.png
1 p! n: P- e' W' V* N  a1 R& ]
+ E  y0 Q8 i; I d003.png * l9 j- E# x$ p; J( V# E
下图是OP的作法:9 K/ G! l) H3 {' j& j3 t" X
d004.png
% J0 b# j7 ]5 ~  M& K; O最后完成椭圆的长短半轴:: }$ t- X0 ]! g: g+ y, f' c  G3 S
& M* Z3 T7 e+ c7 G9 o6 |  Z, U, v& C
d005.png
& `9 v: J; C) i- Z8 B# \# k
. W5 L: g8 v7 X2 I
9 K2 S) e; D  z' ~; Q

评分

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

查看全部评分

 楼主| 发表于 2015-1-20 00:11:41 | 显示全部楼层 来自: 中国北京
woaishuijia 发表于 2015-1-19 23:10 static/image/common/back.gif
- G5 l" {0 w, K: E4 z9 K5 ]( i+ U# h
谢谢,收藏了。
发表于 2015-1-20 13:46:59 | 显示全部楼层 来自: 中国天津
学习了。     
发表于 2018-3-15 10:26:44 | 显示全部楼层 来自: 中国浙江宁波
woaishuijia 发表于 2015-1-19 19:43: E9 h2 E/ Z4 y4 a" G
再来个LISP

, n1 y$ \" h4 i这是什么?代码?用于CAD?

点评

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

点评

做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。  详情 回复 发表于 2018-3-16 05:11
发表于 2018-3-16 05:11:36 | 显示全部楼层 来自: 中国北京
JCKFC1997 发表于 2018-3-15 20:02
1 C% K" R; R5 v2 _# n9 BTOPSOLID ) q; e& F7 B" d# i' _# p
用中心点加圆上两点即可

+ Q+ g  Q; L  v6 o/ p; H做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。
发表于 2018-3-22 17:16:50 | 显示全部楼层 来自: 中国浙江宁波
可以吼出来啊' g) ~9 K8 F4 |2 A

可以

可以

点评

已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。 下图是根据相同的条件随便画的几个,自己看。  详情 回复 发表于 2018-3-27 00:41
发表于 2018-3-27 00:41:25 | 显示全部楼层 来自: 中国北京
本帖最后由 woaishuijia 于 2018-3-27 00:42 编辑 5 p3 K" U2 O. n- m: d+ ]) H
JCKFC1997 发表于 2018-3-22 17:16
, @0 K8 i0 `$ O$ t' K. E$ _! {$ w/ @可以吼出来啊
7 ]6 z6 R6 u. ]9 _
已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。* o) B6 H7 K$ L/ ?5 d! H" {
下图是根据相同的条件随便画的几个,自己看。
8 I5 d3 ?/ N5 p! ]3 N3 V, W' T0 c; g- f# d& E- E& d7 G
捕获.PNG
发表于 2018-11-11 09:32:10 | 显示全部楼层 来自: 中国广东佛山
下载个程序用用。
发表于 2018-12-3 09:59:14 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2015-1-19 12:32- }7 p$ N" n0 \! `, s/ H! `2 N8 w
怎么没人回呢?
0 m8 }" y6 ^% n, w5 Y
请教一下版主,现在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
5 u: v2 D9 q/ Q1 l" T% B请教一下版主,现在CAD编程方面,学习LISP和VBA各有什么优缺点?初学想学习编程,想询问一下版主学习哪个 ...
) g5 \1 Q; b* ^7 q1 h
简单说,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: Y0 K2 L* c) v1 y# ]  m
简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面 ...
8 H' L7 B5 D# B, [  S  y) c8 G8 B
好的,感谢版主大大。。。我初学了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:046 H- a& G# Y9 y/ @0 z
好的,感谢版主大大。。。我初学了EXCEL的编程,感觉还可以,所以就想结合CAD编程,尝试在借助excel中的 ...

( Y! ~# h0 {% L5 Y- fEXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编程简直易如反掌。而且VBA的一大优势就是在支持VBA的软件之间交换数据,所以你说的“借助excel中的数据,自动完成在CAD中的绘图”就是自然而然的事。
发表于 2018-12-8 21:17:27 | 显示全部楼层 来自: 中国
woaishuijia 发表于 2018-12-8 20:33
+ S, T$ K2 m  p1 t; Z1 CEXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...

! j7 ^" g, H, s- f好的,感谢版主大大!给了我很大的信心!
发表于 2019-1-29 12:43:15 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2018-12-8 20:33* M! L3 A# Q/ ?' G. O: }* v
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...

; s$ ^! A+ B  Z3 R  }% y. I1 D老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻烦多了!没有录制宏,我该怎么学习CAD的VBA呢?
发表于 2019-1-30 22:13:09 | 显示全部楼层 来自: 中国北京
kuangben8 发表于 2019-1-29 12:43  d  x0 M* r; q5 _9 Y" |7 V2 k6 K
老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻 ...

; q* D9 \9 W) d; h& G把邮箱给我
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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