QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 gongwen0519 于 2015-1-14 00:21 编辑
+ M. n% m4 Y" b4 \
2 }% u( }  j3 r本题是继这个http://www.3dportal.cn/discuz/fo ... ead&tid=1449246【作出最长值(不限软件)】帖子而来,该帖椭圆中心可知,同时也可以随便得到椭圆上的三点。
& m8 B5 D! ~! j2 X4 E/ T/ [, `  J) w$ k
几何作图作出OX、OY的方向与长度即可,ACAD则画出整个椭圆:
. T( f; w: c3 Y7 X7 W5 @; \" B
  [$ B8 a6 J: s; b* u(这类问题在工程实际中很实用。)
; y" g2 Y" d9 ~. |* P8 |4 `6 i
3 a6 [# W9 p; m3 v) c. {1 p0 [ tuoyuan.png
1 M' A) F; z+ T( X4 W3 q

评分

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

查看全部评分

发表于 2015-1-19 12:32:28 | 显示全部楼层 来自: 中国辽宁抚顺
怎么没人回呢?
  1. Sub C3PE()
    ; P- u% G- p4 x+ O
  2. Dim P0(2) As Double, P1 As Variant, P2 As Variant, P3 As Variant, P4 As Variant* }# H4 k, `) u4 R- [; o" t2 p4 g' P
  3. Dim X1 As Double, Y1 As Double, X2 As Double, Y2 As Double, X3 As Double, Y3 As Double7 n& l* Z- i* w
  4. Dim A As Double, B As Double, C As Double, F As Double, Ang As Double, R1 As Double, R2 As Double
    1 ~" J1 |$ Z7 m3 D+ }
  5. On Error GoTo 10
    + R% s) V7 W- @2 S6 G! `2 N
  6. With ThisDrawing
    : [4 V  g/ w/ {( j4 ^5 W1 \
  7. P1 = .Utility.GetPoint(, "指定中心点")
    6 Z4 ]* P/ u6 |- K) M' G  k7 D
  8. P2 = .Utility.GetPoint(, "指定第一点")( P4 U! Q. O6 F( t5 \  i2 R6 C3 B" W
  9. P3 = .Utility.GetPoint(, "指定第二点")6 m& j5 x7 I8 k9 P6 K
  10. P4 = .Utility.GetPoint(, "指定第三点")8 N' E9 D* c$ P* n4 |7 x- r
  11. X1 = P2(0) - P1(0)
    ) a( V4 D4 U, f7 V5 d, t0 }3 D
  12. Y1 = P2(1) - P1(1), O% G6 a7 f1 S# X8 [8 G3 C
  13. X2 = P3(0) - P1(0)" \2 F" X' h* i, V* |
  14. Y2 = P3(1) - P1(1)1 z8 f% q/ V  F1 p
  15. X3 = P4(0) - P1(0)
    6 _0 k" P" T' s% G7 M7 T. i
  16. Y3 = P4(1) - P1(1)2 [* I  \% x" {: Q
  17. A = (X1 * Y1 - X2 * Y2) * (Y1 ^ 2 - Y3 ^ 2) - (X1 * Y1 - X3 * Y3) * (Y1 ^ 2 - Y2 ^ 2)
    ) ~6 E  b  ^: B/ _# ^) w# _
  18. If A <> 0 Then: z8 J& \& I( w. u) v9 n
  19. B = ((X1 ^ 2 - X2 ^ 2) * (X1 * Y1 - X3 * Y3) - (X1 ^ 2 - X3 ^ 2) * (X1 * Y1 - X2 * Y2)) / A
    ; I, L8 f+ |; Q4 r: c' h8 Y: I
  20. C = ((X1 ^ 2 - X3 ^ 2) * (Y1 ^ 2 - Y2 ^ 2) - (X1 ^ 2 - X2 ^ 2) * (Y1 ^ 2 - Y3 ^ 2)) / A8 r0 b. L7 \7 K- G
  21. F = -X1 ^ 2 - B * Y1 ^ 2 - C * X1 * Y1
    4 W4 K, X; m# `
  22. If C = 0 Then' J1 H! C2 v# x' Q* ]6 t
  23. If B > 0 And F < 0 Then( Z& i  D: r: o4 [% ~7 g
  24. Ang = 0
    : I) y% s7 u! ?/ i3 h+ _7 ], ~
  25. R1 = Sqr(-F)) k, f  g" f) e( w: o
  26. R2 = Sqr(-F / B)/ N2 _( p/ y4 A/ H5 L7 n8 w
  27. Else3 h9 Z4 J9 ^4 O
  28. Exit Sub
    ; @/ [3 ^+ x9 k
  29. End If" E  i7 @6 X  U' [* v, y
  30. Else% `  w- \& `) J1 p8 T3 A) a4 \. V$ R
  31. If B = 1 Then
    $ {% q! S3 H5 f
  32. If F < 0 And C > -2 And C < 2 Then
    6 {% R2 |9 p$ D5 l: A
  33. Ang = .Utility.AngleToReal(45, acDegrees)
    & g- Q' _/ N/ x3 D' Q
  34. R1 = Sqr(-2 * F / (2 + C))2 b# @  T' Y2 \5 g+ N
  35. R2 = Sqr(-2 * F / (2 - C))0 {/ v9 S9 B. M9 Q  n0 L" E" T, {$ T% h
  36. Else- t( u8 K( a8 L+ s
  37. Exit Sub
    1 V& X1 R! T( v0 D7 k" B; `
  38. End If" k; K( S" U' O' h- r2 H* R
  39. Else: F, w, O" X4 ~& P  a' H- {
  40. Ang = Atn(C / (1 - B)) / 2; z3 H1 j! Q& V& n
  41. If Ang < 0 Then Ang = Ang + .Utility.AngleToReal(90, acDegrees)/ v, I, X; V9 J- C( b9 Z/ }
  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 _) [' o. E# Z' W
  43. B < -1 And F > 0 And C > (B + Tan(Ang) ^ 2) / Tan(Ang) And C < -(1 + B * Tan(Ang) ^ 2) / Tan(Ang) Then3 H+ a0 k! d/ ]+ N7 |" V& C( _: a6 }3 b
  44. R2 = -F * (1 + Tan(Ang) ^ 2)
    3 {8 @4 @+ y5 v: M  D$ Q- F
  45. R1 = Sqr(R2 / (1 + B * Tan(Ang) ^ 2 + C * Tan(Ang))); c/ P) _; J9 i" ^, @( w0 A
  46. R2 = Sqr(R2 / (B + Tan(Ang) ^ 2 - C * Tan(Ang)))
    * }# J! f; }6 q& ]( G, d! [# g
  47. Else' O- }, l7 h* f
  48. Exit Sub
    / r8 d) r4 L0 h6 x- }
  49. End If
    # [5 C& M% q) o. o* U1 r' S/ G
  50. End If" a) a& }) v/ u
  51. End If9 n6 y8 A2 b2 L+ Z8 p6 C! K
  52. Else
    . `/ s9 @, a! i0 u  o
  53. Exit Sub2 ^3 m/ Q/ h: ~9 A' s& V
  54. End If
    ; }3 g- f% }3 }
  55. If R2 < R1 Then9 E- x7 L, v& |# d! R/ T
  56. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang, R1), R2 / R1( U3 w& Z0 G( L" p! M' p5 P6 @
  57. Else- h: e- [0 z- T! \+ ?7 {( q% K8 L
  58. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang + .Utility.AngleToReal(90, acDegrees), R2), R1 / R2
    * [, W3 l4 y1 R) }
  59. End If
    ) f. U: z7 ~( C- ?$ `
  60. End With4 k; [2 l. S$ c( ]
  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 编辑 ! a- V; y. A1 O+ T6 I1 g
+ H/ r! R; d0 l! c/ u
再来个LISP
  1. (defun c:c3pe# z/ F! K5 T% M: U% h
  2.        (/ old p0 p1 p2 p3 p4 x1 y1 x2 y2 x3 y3 a b c f ang r1 r2)& a& o" j  j, \- ^; [$ }' B
  3.   (setvar "CMDECHO" 0)1 ]8 w' D+ r( c6 }- R# S: C
  4.   (setq p0 (list 0 0 0)
    , {5 v$ E+ G3 I6 L9 E: E
  5. p1 (getpoint "\n 指定中心点:")+ x! W5 k7 q6 N
  6. p2 (getpoint "\n 指定第一点:")
    9 h/ l6 Z9 _2 P& b/ }6 g
  7. p3 (getpoint "\n 指定第二点:")
    3 ^) ]/ v5 F0 ]
  8. p4 (getpoint "\n 指定第三点:")
    6 k% v0 |+ y: O- N- l- h
  9. a  (car p1)+ M7 P4 s, l5 q: W, `' v: n
  10. b  (cadr p1)4 E1 r+ r3 A% J+ [# P( X. R
  11. x1 (- (car p2) a). @# J  r' g% N# v+ |
  12. y1 (- (cadr p2) b)
    0 I% G# l' l+ V4 [+ N: f
  13. x2 (- (car p3) a)
    & }5 e: O: }) v+ R5 b
  14. y2 (- (cadr p3) b)
    & D$ }) ~" S, D5 m. e. A
  15. x3 (- (car p4) a)6 h& o' A' s5 y- F
  16. y3 (- (cadr p4) b)/ a1 M2 u0 j" N& @
  17. a  (- (* (- (* x1 y1) (* x2 y2)) (- (* y1 y1) (* y3 y3)))
    - z% ^. z6 p, [* ~
  18.        (* (- (* x1 y1) (* x3 y3)) (- (* y1 y1) (* y2 y2)))* T7 j0 o. p3 w6 U
  19.     )/ L/ u: ]: \# }7 m
  20.   )
    ; m8 B* [4 k2 T
  21.   (if (/= a 0.0)
    , V2 E8 T6 N! i$ F7 h; Q
  22.     (progn
    " f- u9 P' U: q; J3 I( a2 o" j
  23.       (setq b (/ (- (* (- (* x1 x1) (* x2 x2)) (- (* x1 y1) (* x3 y3)))9 {( q! y0 Y* K9 n! H' t: ^  ~
  24.       (* (- (* x1 x1) (* x3 x3)) (- (* x1 y1) (* x2 y2)))* C. K1 X* {5 [4 f3 x2 c
  25.    )2 Y' q) I" s# m+ \$ z
  26.    a  @/ Z$ L7 K8 z4 E% J/ F
  27.        )
    4 o7 U$ [* F8 M# F' U( ?
  28.      c (/ (- (* (- (* x1 x1) (* x3 x3)) (- (* y1 y1) (* y2 y2)))( a& ]4 A: b0 Z
  29.       (* (- (* x1 x1) (* x2 x2)) (- (* y1 y1) (* y3 y3)))1 a( ]2 \4 g) M% m8 j
  30.    )0 ]* F6 U) M9 o" ~! ^5 x9 y  g
  31.    a8 N$ P! S- t4 @! Q* |$ v
  32.        )7 o% [0 O1 j( Q3 a7 T# N1 i, m
  33.      f (- 0 (* x1 x1) (* b y1 y1) (* c x1 y1)): @/ q# _0 w  M* o$ N$ S
  34.       )8 S) V; z( o$ c" z/ h' T' ~
  35.       (if (zerop c)
    8 D/ p# p$ [0 h8 _
  36. (if (and (> b 0.0) (< f 0.0))
    + c  g6 v5 T. {. K: e$ B9 a& H( ~7 Z
  37.    (setq ang 0.03 Z* z3 y3 A6 s5 K% r
  38.   r1  (sqrt (- 0 f))* U" g" q/ P: V- t+ j- f
  39.   r2  (sqrt (- 0 (/ f b)))1 P0 ~/ h7 ?, J1 D5 h
  40.    )
    ) v5 `+ p3 O, v! u& ]
  41. )
    3 P4 P0 V% j, f% M( @& H, o
  42. (progn
    * a+ p! {* n# c/ O- Z" Q- v$ n
  43.    (if (= b 1.0)! S& O' I+ }  }$ d
  44.      (if (and (< f 0.0) (> c -2.0) (< c 2.0))
    + p' m0 r5 w! m9 W& Z- Z
  45.        (setq ang (/ pi 4)$ G9 ^0 c: X; z; O! a* \9 t
  46.       r1 (sqrt (* -2 (/ f (+ 2 c))))" D" ?* _. E6 }) Z4 H
  47.       r2 (sqrt (* -2 (/ f (- 2 c))))
    ) [/ }9 N5 C# b
  48.        )2 n6 P- N3 u6 `! r! X
  49.      )6 @! q, H/ ]" k
  50.      (progn
    / o1 D5 j+ b; {2 J% \
  51.        (setq ang (/ (atan (/ c (- 1 b)))
    , C- x0 H, J( N) c" _9 V" k" U
  52.       2  ]0 G3 Z; f, e
  53.    )) X, a; `% y, d" K3 v. e- v  s/ U
  54.        )
    9 j, v* [2 l& V7 M2 e0 E
  55.        (if (< ang 0.0)
    5 M1 z' R' y9 D( v1 K
  56.   (setq ang (+ ang (/ pi 2)))
    0 M) ?, O' w- B3 [6 E( J$ a
  57.        )
    . E4 i# N2 `% j8 i: }5 x" s
  58.        (setq a (/ (sin ang) (cos ang)))4 t6 c1 }! y0 Q  P) e- c4 u% A
  59.        (if (or (and (> b -1.0)
    0 L8 w3 N# e! n: K5 r( u
  60.       (< f 0.0)
    9 O* D, ?2 O% S' R/ J8 {' s6 m
  61.       (> c (/ (- -1.0 (* b (* a a))) a))
    - \' n/ u+ J/ ?3 G4 @! G$ v
  62.       (< c (/ (+ b (* a a)) a))
    7 M) |2 A" M2 d5 v1 |1 Y  x
  63.         )( O1 v* W' `, Z# K1 K3 M' K
  64.         (and (< b -1.0)
    2 c: \6 J: N/ |7 R: ]+ ^
  65.       (> f 0.0)- ]9 I; Q, i: ?
  66.       (> c (/ (+ b (* a a)) a))
    8 ?/ S; X8 N9 M9 ~8 T# `! X+ L5 X
  67.       (< c (/ (- -1.0 (* b (* a a))) a))- }- i4 X; ?, ]0 T* i
  68.         )
    7 f" A* c/ j- @3 f$ [$ f" {3 u
  69.     )
    7 o8 y8 V# x# _# @# c/ }8 l4 j
  70.   (setq r2 (* -1 f (1+ (* a a)))+ ?# S6 ~$ j8 ]+ q+ q5 l8 z; ^
  71.         r1 (sqrt (/ r2 (+ 1 (* b a a) (* c a))))
    2 k- ]* ~9 ?- ~8 z. }6 ?
  72.         r2 (sqrt (/ r2 (- (+ b (* a a)) (* c a))))
    * }' m  J1 B+ _, P+ J$ [% l2 t2 e0 R
  73.   )% y6 Q! y, P/ ?* |- V
  74.        )
    / M2 s: E! n/ g$ d* l/ ~8 L
  75.      )
      |. N7 C8 J' i: I5 ^( v
  76.    )
    & S3 O1 p7 p% p* e5 q7 v' Y9 }
  77. ); X# C6 u( m! s, w) \5 h- R+ y
  78.       )9 Y* I. ?" o( N8 Y/ {) R
  79.     )8 g* I7 ?$ G. k
  80.   )
    7 `* k! @3 E: S0 F
  81.   (if r16 s( m$ r0 ]- k" ]0 N
  82.     (progn
    9 R3 P  ~' o4 y% P. y$ f
  83.       (setq old (getvar "OSMODE"))" g) u* \2 ]4 D/ a/ r* ]
  84.       (setvar "OSMODE" 0)
    8 B8 c0 l' b; o
  85.       (command "ellipse"
    % a6 i. L: {& q+ N# X
  86.         "c"1 }3 K- \$ f" E6 |
  87.         p1
    . I) C" J9 P, q" a$ Q7 }  p
  88.         (polar p1 ang r1)
      {& l* {/ \( Y+ z5 z
  89.         r25 q) Z8 ]( g7 q3 Y9 t
  90.       )+ \0 r: ?& E$ l) v: d# m
  91.       (setvar "OSMODE" old)
    ! _) g2 ]9 _( l4 z
  92.     )
    / D7 a5 S7 c7 R2 @
  93.   ). E$ B+ A# F3 Q
  94.   (princ)
    - @4 l! g% b; o" l: C
  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
( |$ R0 A: j3 `4 x" f已知椭圆的中心点,将3点代入椭圆的一般方程,用解析几何的方法计算即可。

$ p0 U6 Z/ L6 P可以不解方程,有纯几何方法解的(指能作出椭圆的长短轴的方向与长度)。
 楼主| 发表于 2015-1-19 20:45:01 | 显示全部楼层 来自: 中国北京
本帖最后由 gongwen0519 于 2015-1-19 20:55 编辑
# ]! s+ i5 h) M: |
woaishuijia 发表于 2015-1-19 19:43 static/image/common/back.gif( D1 d% g9 i9 C, E# T' C
再来个LISP

8 g2 A" _% I4 ^) s  s
% m' f6 C& I+ e$ o5 W- `. R$ g( iwoaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码,手工复制或清理太费时间),谢谢。。4 S  Q0 L5 [& ?+ `

, F2 Q& y2 I1 q2 B5 \看来大家和曾经的楼主一样,看到圆锥二次曲线就生威蹙眉。
/ Z$ z( W* l; u- {* d2 q! ]5 U. t
+ I& E3 h- h' T9 i) i如果用尺寸约束与驱动,把椭圆约束到这些参数上也是可以的呀。
" {* [& I8 U; N2 i$ u  h/ L) _$ X' j8 h1 w$ R, f- d: `
谢谢woaishuijia版主的VBA与lsp,今后工作中我就用您的程序了。
/ Q3 _* H) b, }9 h/ n/ N" _" u9 F8 l) \: I% v
为增加活跃一下的气氛,我还是稍后整理公布一下过程不是“很”复杂的几何作法吧。
发表于 2015-1-19 22:02:32 | 显示全部楼层 来自: 中国辽宁大连
能给出长轴和短轴的公式吗?和水平角度的计算
发表于 2015-1-19 23:10:51 | 显示全部楼层 来自: 中国辽宁营口
本帖最后由 woaishuijia 于 2015-1-19 23:25 编辑 ) h& K& V6 F# B9 K; x% c
gongwen0519 发表于 2015-1-19 20:45 http://www.3dportal.cn/discuz/static/image/common/back.gif9 h4 K" x5 R# s/ |" W
woaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码, ...
! \* F! Z% z& {4 F1 ~* n  j

  \9 M/ E0 f4 B, @( f' n$ X C3PE.rar (4.96 KB, 下载次数: 25)
 楼主| 发表于 2015-1-20 00:04:33 | 显示全部楼层 来自: 中国北京
lisc2000 发表于 2015-1-19 22:02 static/image/common/back.gif
& O" r: B8 Y; F7 l0 d8 a能给出长轴和短轴的公式吗?和水平角度的计算
4 d- K3 J: g8 p6 h- c6 H
已经整理好一种几何解法:3 t$ n# [+ L2 O4 G1 I" s" t+ n6 Y

, {. v: i) O/ }9 Q& S$ f3 Y前面的说明:( v9 _& V4 n: X# w( \$ r, d0 y

8 k+ m% J$ \' b0 X d001.png 4 x5 K0 ]* E$ ?1 g
3 o+ X) j# d9 U' ]+ p
作图过程:
4 W. \6 l1 i( P  R1 X$ v& y( Y2 @, l2 K% v
d002.png
6 }- C. y+ a  R3 u% F7 A: k
0 L" |2 Z0 c# p' b% m d003.png
0 U6 M; E5 }# }) @! R下图是OP的作法:
, b3 a. I7 {% ~: @ d004.png , A% s2 k' D# f# D3 a2 }1 j( ~  _
最后完成椭圆的长短半轴:
' w$ N8 x* ~, S) Y
; w  K  M% x$ r; _7 c# T: g3 M d005.png
2 o# Z$ t7 k( Z0 }
# G6 I% L% m! `
9 m' u/ ~. F4 v$ J3 [2 i

评分

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

查看全部评分

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

; M4 j4 k! _- x( j7 i. ^! e谢谢,收藏了。
发表于 2015-1-20 13:46:59 | 显示全部楼层 来自: 中国天津
学习了。     
发表于 2018-3-15 10:26:44 | 显示全部楼层 来自: 中国浙江宁波
woaishuijia 发表于 2015-1-19 19:43
6 m+ B: F9 B9 S( `" W* V1 A/ T5 b再来个LISP
% \2 p) v4 k" y5 Z! v6 a5 N% s
这是什么?代码?用于CAD?

点评

是的。AutoCAD是一款极为优秀的二次开发平台软件,支持多种(比如C、.net、LISP、VBA、脚本)编程工具(语言)。用户可用其创制属于自己的个性化命令。一些常见的国产CAD软件(如PCCAD、开目、机械工程师等)就是在  详情 回复 发表于 2018-3-15 17:31
发表于 2018-3-15 17:31:39 | 显示全部楼层 来自: 中国北京
小草包 发表于 2018-3-15 10:26! o' t6 g" v; v4 H4 P! S
这是什么?代码?用于CAD?

2 B! H7 T1 L0 _3 z7 h8 B是的。AutoCAD是一款极为优秀的二次开发平台软件,支持多种(比如C、.net、LISP、VBA、脚本)编程工具(语言)。用户可用其创制属于自己的个性化命令。一些常见的国产CAD软件(如PCCAD、开目、机械工程师等)就是在这个平台上二次开发的绘图软件产品。本帖的二楼、四楼就是针对楼主所提问题,分别用VBA和LISP编写的“已知中心及其上三点作椭圆”命令的程序代码。八楼附件是包含程序的工程文件,在AutoCAD绘图界面的“工具”菜单下使用相应的命令加载工程文件后,就可以像平时使用CAD命令画直线、画圆一样,使用这个自制命令,根据已知中心及其上三点画出椭圆了。
发表于 2018-3-15 20:02:56 | 显示全部楼层 来自: 中国浙江宁波
TOPSOLID
$ g2 x3 P- t! ~& a$ K! U用中心点加圆上两点即可

点评

做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。  详情 回复 发表于 2018-3-16 05:11
发表于 2018-3-16 05:11:36 | 显示全部楼层 来自: 中国北京
JCKFC1997 发表于 2018-3-15 20:02
' O4 a9 F9 U+ v3 D3 R4 x: oTOPSOLID
( U& z( U6 W9 O5 _用中心点加圆上两点即可

. [- Q: e5 N8 w$ I6 I做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。
发表于 2018-3-22 17:16:50 | 显示全部楼层 来自: 中国浙江宁波
可以吼出来啊
9 v# W# @  u- N; x6 n% |

可以

可以

点评

已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。 下图是根据相同的条件随便画的几个,自己看。  详情 回复 发表于 2018-3-27 00:41
发表于 2018-3-27 00:41:25 | 显示全部楼层 来自: 中国北京
本帖最后由 woaishuijia 于 2018-3-27 00:42 编辑 ! I- z& X" C* u! ]/ C3 k' h
JCKFC1997 发表于 2018-3-22 17:16. E& [9 g, m' Z
可以吼出来啊
4 a' I3 [; U! c4 ?* f
已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。
: L0 L6 T$ E) J9 U5 Z下图是根据相同的条件随便画的几个,自己看。
- z7 w, X2 H7 w
% n8 P/ K# J& H& R
捕获.PNG
发表于 2018-11-11 09:32:10 | 显示全部楼层 来自: 中国广东佛山
下载个程序用用。
发表于 2018-12-3 09:59:14 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2015-1-19 12:32. A4 h2 L' `4 w% G$ I8 k) R
怎么没人回呢?
9 j1 f' v6 Q4 D$ J& J: i2 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
$ k( F/ K* Z2 ~8 p; x' @- h0 u请教一下版主,现在CAD编程方面,学习LISP和VBA各有什么优缺点?初学想学习编程,想询问一下版主学习哪个 ...

6 q5 C. P6 i+ G0 m: G! b- l6 a) @简单说,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
3 |2 k7 i6 ^, `7 ]+ {6 A简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面 ...

  L9 P! H9 V4 X0 c; _- v" E好的,感谢版主大大。。。我初学了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/ k/ n+ o, _" p) ], l- _6 |8 D' K& f
好的,感谢版主大大。。。我初学了EXCEL的编程,感觉还可以,所以就想结合CAD编程,尝试在借助excel中的 ...
8 E" L# W: Y1 I3 R
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编程简直易如反掌。而且VBA的一大优势就是在支持VBA的软件之间交换数据,所以你说的“借助excel中的数据,自动完成在CAD中的绘图”就是自然而然的事。
发表于 2018-12-8 21:17:27 | 显示全部楼层 来自: 中国
woaishuijia 发表于 2018-12-8 20:337 z. H: f7 b& u" ]' |
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...

! ^' Q7 V% ?) K- i! I8 d9 \0 k' m好的,感谢版主大大!给了我很大的信心!
发表于 2019-1-29 12:43:15 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2018-12-8 20:336 |( J4 v. i& K# {' _; W* o
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...

: Z- }3 j" W  n% s: j; u老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻烦多了!没有录制宏,我该怎么学习CAD的VBA呢?

点评

把邮箱给我  详情 回复 发表于 2019-1-30 22:13
发表于 2019-1-30 22:13:09 | 显示全部楼层 来自: 中国北京
kuangben8 发表于 2019-1-29 12:43
0 [) ?4 j% E5 d  H3 a7 p- Q6 B+ i老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻 ...

  C; F* T7 W' W) F4 {# J把邮箱给我
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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