QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
goto3d 说: 版主微信号:caivin811031;还未入三维微信群的小伙伴,速度加
2022-07-04
全站
goto3d 说: 此次SW竞赛获奖名单公布如下,抱歉晚了,版主最近太忙:一等奖:塔山817;二等奖:a9041、飞鱼;三等奖:wx_dfA5IKla、xwj960414、bzlgl、hklecon;请以上各位和版主联系,领取奖金!!!
2022-03-11
查看: 6284|回复: 32
收起左侧

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

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

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

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

x
本帖最后由 gongwen0519 于 2015-1-14 00:21 编辑 ! b% o' v+ h; o, P# l) r
3 E5 z5 e2 K3 R3 X+ k1 t/ Q
本题是继这个http://www.3dportal.cn/discuz/fo ... ead&tid=1449246【作出最长值(不限软件)】帖子而来,该帖椭圆中心可知,同时也可以随便得到椭圆上的三点。
$ `$ Y' M/ k4 g
8 V& K) B& @4 Y/ v" P几何作图作出OX、OY的方向与长度即可,ACAD则画出整个椭圆:4 }( F2 ]/ v/ g. o# K$ n6 j+ J

3 B- R, C& ^! H) y0 o2 I4 f& H  ^(这类问题在工程实际中很实用。)! N1 X: _' a1 G7 L  M% a
$ J' y0 A: l' }% i& k, a) O
tuoyuan.png 6 g$ N) R- @1 T, s- G. Q

评分

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

查看全部评分

发表于 2015-1-19 12:32:28 | 显示全部楼层
怎么没人回呢?
  1. Sub C3PE()
    , r/ u! Y- d3 R. z( q
  2. Dim P0(2) As Double, P1 As Variant, P2 As Variant, P3 As Variant, P4 As Variant
    : L1 B! k/ G5 @/ o" E3 _' u
  3. Dim X1 As Double, Y1 As Double, X2 As Double, Y2 As Double, X3 As Double, Y3 As Double4 d* E% N1 }7 ?% z1 S* k& ]6 L
  4. Dim A As Double, B As Double, C As Double, F As Double, Ang As Double, R1 As Double, R2 As Double
    9 u7 ^2 R" O  b+ M" Q2 B9 V( u
  5. On Error GoTo 10' r$ Y9 X5 e+ l, ~! \' d
  6. With ThisDrawing
    . L0 }# [8 x% @0 f) `* b% v
  7. P1 = .Utility.GetPoint(, "指定中心点")# m* B& E: x+ N, A1 A& c1 B" N# P
  8. P2 = .Utility.GetPoint(, "指定第一点")2 q6 ~) r! b! `, a8 i$ n
  9. P3 = .Utility.GetPoint(, "指定第二点")7 _. ]1 u; l! u5 Z+ @& X
  10. P4 = .Utility.GetPoint(, "指定第三点"): n$ L7 ?/ J+ {  _& D  z$ N
  11. X1 = P2(0) - P1(0)8 W. Z: v$ s+ t8 L9 z9 J
  12. Y1 = P2(1) - P1(1)  w  q: C( B' i/ ^5 P% A# Y1 t
  13. X2 = P3(0) - P1(0)9 j5 q( ^9 [- N6 P- l  r
  14. Y2 = P3(1) - P1(1)
    8 H2 m1 _3 J' n
  15. X3 = P4(0) - P1(0)& k0 S$ b: Z9 B( \. h1 N" {
  16. Y3 = P4(1) - P1(1)
    $ d! |* j' x& `9 n7 r" b
  17. A = (X1 * Y1 - X2 * Y2) * (Y1 ^ 2 - Y3 ^ 2) - (X1 * Y1 - X3 * Y3) * (Y1 ^ 2 - Y2 ^ 2)
    , \0 n) d6 @( r
  18. If A <> 0 Then5 D1 v! r8 r/ T, w) k3 O) V
  19. B = ((X1 ^ 2 - X2 ^ 2) * (X1 * Y1 - X3 * Y3) - (X1 ^ 2 - X3 ^ 2) * (X1 * Y1 - X2 * Y2)) / A* P$ o0 Y7 Y1 U, t, ]1 d
  20. C = ((X1 ^ 2 - X3 ^ 2) * (Y1 ^ 2 - Y2 ^ 2) - (X1 ^ 2 - X2 ^ 2) * (Y1 ^ 2 - Y3 ^ 2)) / A% z7 m5 r; k# H
  21. F = -X1 ^ 2 - B * Y1 ^ 2 - C * X1 * Y1
    9 [+ U( {& q* ~3 z
  22. If C = 0 Then0 f9 M3 n3 j& J! Z1 e5 y; Q6 a- N
  23. If B > 0 And F < 0 Then
    ) b1 z' a5 _! y' T& p) @9 H
  24. Ang = 04 P$ J! m) h: \# l: H8 J( v* H' G
  25. R1 = Sqr(-F)' R. z7 |5 m. l8 X/ K6 p" f1 H
  26. R2 = Sqr(-F / B)6 W: N3 G' }+ m' q# d
  27. Else
    4 y7 T' F  d7 w9 L* K
  28. Exit Sub
    1 u. y' O. w/ _
  29. End If; C4 |3 `$ S# L
  30. Else
    8 O: t7 A5 P) ]9 X. H( y
  31. If B = 1 Then+ Q  ~+ {. _! {
  32. If F < 0 And C > -2 And C < 2 Then, y/ F+ ^6 I) W' K' c, h
  33. Ang = .Utility.AngleToReal(45, acDegrees)( F- _" Z, E1 ~% ^% m, {( D3 r
  34. R1 = Sqr(-2 * F / (2 + C))
    & h4 G' H- h5 i
  35. R2 = Sqr(-2 * F / (2 - C))8 w; L! P( P& j( R) N8 L4 o' L
  36. Else
    % c, t; f/ q; S
  37. Exit Sub
    8 }3 D. z  V$ X# Z7 P* R) I
  38. End If
    + A2 S" }) d; G6 ?; A0 o5 v: V
  39. Else
    1 R: s1 g1 {1 t* X' U; E( D
  40. Ang = Atn(C / (1 - B)) / 2. e$ [; _4 k1 f7 u
  41. If Ang < 0 Then Ang = Ang + .Utility.AngleToReal(90, acDegrees)
    1 l: @7 d& X9 T  c3 }1 W; a9 T
  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 _
    # V% o8 }6 w$ ~) g+ ?
  43. B < -1 And F > 0 And C > (B + Tan(Ang) ^ 2) / Tan(Ang) And C < -(1 + B * Tan(Ang) ^ 2) / Tan(Ang) Then
    8 n1 g1 f$ d: L
  44. R2 = -F * (1 + Tan(Ang) ^ 2)
    5 d! G. X2 d/ _, m" N3 f
  45. R1 = Sqr(R2 / (1 + B * Tan(Ang) ^ 2 + C * Tan(Ang)))5 y! G( X5 B; N9 z
  46. R2 = Sqr(R2 / (B + Tan(Ang) ^ 2 - C * Tan(Ang)))& s! x( {) \, v9 y4 `
  47. Else
    ! A  {2 V$ o: }( W7 ^' i
  48. Exit Sub
    8 j1 _: j8 H1 r4 V
  49. End If; j+ d0 @! i1 X
  50. End If
    + A; [5 @3 A* |! x6 i3 s
  51. End If
    7 _, _( q0 K& `3 \
  52. Else
    - K  C9 v* ]) `
  53. Exit Sub
    " M* ]" M! w1 D* P8 r0 s
  54. End If* }% I5 j$ O: v. J# k. P/ t$ H
  55. If R2 < R1 Then0 q) z" m- K7 c
  56. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang, R1), R2 / R1/ E. G8 u- V9 ]' i$ @. ?; k2 X( ^/ Z
  57. Else% A" s5 F, q+ P5 E3 l9 f5 @( E
  58. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang + .Utility.AngleToReal(90, acDegrees), R2), R1 / R28 ]. z. F& k1 X" s1 u* K6 u: h7 b
  59. End If2 Q" h* e" N: m/ q4 s( }
  60. End With
    ! o; j- z8 {! p0 h, F/ ?: A
  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 编辑
! W- B  ~3 j6 D( j
3 W* K4 Q6 G1 f- Z& j0 B6 y, ?- {; w再来个LISP
  1. (defun c:c3pe, ^  b, L% o3 d. o4 z& l7 D! c2 l; x8 \
  2.        (/ old p0 p1 p2 p3 p4 x1 y1 x2 y2 x3 y3 a b c f ang r1 r2)' }- w" j" S* u* Z8 J9 Q
  3.   (setvar "CMDECHO" 0)
    5 B$ |4 E& X3 y5 B2 L( ~
  4.   (setq p0 (list 0 0 0)
    " A+ O( H8 E# x( m- F. ^$ p
  5. p1 (getpoint "\n 指定中心点:")
    4 ]" j$ H$ U  s3 k) A
  6. p2 (getpoint "\n 指定第一点:")
    7 J6 @% j; X. @7 W
  7. p3 (getpoint "\n 指定第二点:")
    $ h; Z- g0 F' L
  8. p4 (getpoint "\n 指定第三点:")
    - p% }5 Y- q9 T* a9 s
  9. a  (car p1)' p# {3 z3 T# R/ s/ t- I
  10. b  (cadr p1)2 m8 B# k, t1 U7 U
  11. x1 (- (car p2) a)
    - I8 M- p6 |0 q  O2 L4 z# h) p; V
  12. y1 (- (cadr p2) b)4 d, D9 K6 q9 e0 C, n
  13. x2 (- (car p3) a)! G- c! H5 u# y5 N4 P7 s! F
  14. y2 (- (cadr p3) b)- p# h. B. p& J- Q/ F" q
  15. x3 (- (car p4) a)
      C% ^) S1 R) q" g9 k
  16. y3 (- (cadr p4) b)+ `$ p# h3 n9 \& ?: n. w; u
  17. a  (- (* (- (* x1 y1) (* x2 y2)) (- (* y1 y1) (* y3 y3)))
    6 n5 z& J# U; g, q7 H2 E  N! i
  18.        (* (- (* x1 y1) (* x3 y3)) (- (* y1 y1) (* y2 y2)))
    0 l# }6 p2 c/ t5 {0 F: t1 n
  19.     )
    * v  L' C7 h, B8 |4 l
  20.   )7 `- l. P) n( W' k9 ^; {
  21.   (if (/= a 0.0)
    $ q) m6 M: l7 X2 d' n: u
  22.     (progn. U+ ~0 y7 [% x$ f8 v
  23.       (setq b (/ (- (* (- (* x1 x1) (* x2 x2)) (- (* x1 y1) (* x3 y3)))+ L. P' l# u0 `
  24.       (* (- (* x1 x1) (* x3 x3)) (- (* x1 y1) (* x2 y2)))
    7 r0 z( d$ S  k2 i( b, @
  25.    )
    * q: s0 X; @7 k3 c& `4 n
  26.    a
    / K( J" n# _- p) r
  27.        ): j1 E# M& g8 U
  28.      c (/ (- (* (- (* x1 x1) (* x3 x3)) (- (* y1 y1) (* y2 y2)))
    + G- }2 b/ V; O  E. [4 `+ h
  29.       (* (- (* x1 x1) (* x2 x2)) (- (* y1 y1) (* y3 y3)))
    5 _, M! N, `3 O2 |0 i& [
  30.    )
    ' ]) N! s* m- k# D5 X4 M
  31.    a
      P* W$ ~. `7 M6 y% G6 u
  32.        )/ v& q; G1 N( ^
  33.      f (- 0 (* x1 x1) (* b y1 y1) (* c x1 y1))6 k, b3 L; N0 k% _0 }
  34.       )
    0 X; R$ i, {- N' b8 \; X
  35.       (if (zerop c)/ U/ k; e# @+ ?1 }& {) E& g
  36. (if (and (> b 0.0) (< f 0.0))& R& F+ O  r8 q
  37.    (setq ang 0.0  F# u5 q0 w" E
  38.   r1  (sqrt (- 0 f))
    " u* ~) X+ e) Y
  39.   r2  (sqrt (- 0 (/ f b)))
    7 k5 {- P# _7 r1 `1 l
  40.    )
    : X" w" i; |  @# J) {9 s# ]8 P$ \
  41. )) {- \/ Z4 j$ y: t  w: \' y
  42. (progn+ p, x: [3 l) t# A9 ^+ [
  43.    (if (= b 1.0): j' l3 p% q9 |4 s
  44.      (if (and (< f 0.0) (> c -2.0) (< c 2.0))
    ) }) `2 g+ U9 H6 D1 ^
  45.        (setq ang (/ pi 4)5 v% ?+ k$ Q& V0 _4 l$ W% [
  46.       r1 (sqrt (* -2 (/ f (+ 2 c))))
    ' x# {0 S! j) V$ q
  47.       r2 (sqrt (* -2 (/ f (- 2 c))))
    . F) g6 T) m- L
  48.        )0 @6 R, X# ?+ u* s; q
  49.      )+ g# p$ X: _; T7 J3 n& B0 b
  50.      (progn
    3 a; @; I) j2 S+ j+ ?3 b
  51.        (setq ang (/ (atan (/ c (- 1 b)))
    + x  T) ]# `0 U  Y& c
  52.       2( C9 }* I$ w- T: y! b7 s" e0 a
  53.    )* H- k3 R/ `- }- {1 N5 M5 Z
  54.        )
    0 R, _# n2 m& m: }
  55.        (if (< ang 0.0)  x5 E. {( D; l8 q1 \5 s
  56.   (setq ang (+ ang (/ pi 2)))
    * {9 m7 J9 r0 S3 v' a
  57.        )* E5 g( R2 t1 Z
  58.        (setq a (/ (sin ang) (cos ang)))% t4 r; G: s! F0 [& a
  59.        (if (or (and (> b -1.0)
    0 B9 M) K( G# x/ I5 r+ k
  60.       (< f 0.0)
    ' E0 V9 u. J' V8 L
  61.       (> c (/ (- -1.0 (* b (* a a))) a))
    ' ^4 P' o) ]8 ^2 f8 y, f. y( |
  62.       (< c (/ (+ b (* a a)) a))
    , o) l5 a$ P: q2 Z8 F' Q
  63.         )7 |$ j4 ^" s  {. ^
  64.         (and (< b -1.0)- q- r( _' Z8 Q+ B
  65.       (> f 0.0)4 n( @0 M. _; ~# f
  66.       (> c (/ (+ b (* a a)) a))
    8 P; F& ~. G7 S0 S3 J4 B9 P2 Y
  67.       (< c (/ (- -1.0 (* b (* a a))) a))$ j7 j! |0 T& e! ^$ B2 Z5 X7 Y6 \
  68.         )
      Q* S6 P* A7 D0 D: j: y+ m
  69.     )9 q+ }2 B* t4 ~1 {
  70.   (setq r2 (* -1 f (1+ (* a a))), ^( m2 a% t( o" `
  71.         r1 (sqrt (/ r2 (+ 1 (* b a a) (* c a))))
    ) E( O5 Z, [: _; R1 c
  72.         r2 (sqrt (/ r2 (- (+ b (* a a)) (* c a))))
    $ d, g+ F, f" j: H( g
  73.   )
    % n5 o+ f8 B! ]+ o$ D: A0 ?
  74.        )6 F& l$ I3 ~- r! J8 _$ U
  75.      )7 v# y8 Z/ V% `2 W: M
  76.    )
    ! p9 [3 I& X& G' P
  77. )
    - V0 Y# _# p' j- S( Z* Q
  78.       )
    0 A0 f- r) N& T; W; m% d8 N8 g
  79.     )
    ) i: M) \  n* p
  80.   )
    ' u$ O( T; L$ Z3 m
  81.   (if r11 H: T2 E$ J0 @8 \3 {/ }( V
  82.     (progn( Z; @5 ?- F3 l$ d& c
  83.       (setq old (getvar "OSMODE"))
    4 a* c4 F3 j1 w* |
  84.       (setvar "OSMODE" 0)
    ; V5 f7 F, G: r7 T+ S1 E) s
  85.       (command "ellipse"; u. |3 c  B' Y! ~) U. W& [
  86.         "c"1 s3 D8 _2 K" x4 \- p, v
  87.         p1. G4 T: W$ `' ?/ ^5 q( a
  88.         (polar p1 ang r1)
    : }( @, l- ?  X6 {" k* f; Y3 `
  89.         r2. t! J! U8 @2 I, w; _& d8 A
  90.       )
    2 I% b+ b# s; k- Z0 i: A- }
  91.       (setvar "OSMODE" old)' b+ G0 M7 y9 K
  92.     )0 o% `1 Q  z% a& b
  93.   )
    ! A. L* C1 ~0 |' {. }# `% }
  94.   (princ)
    ' U5 @2 \5 G0 m* G+ H# [5 m, B
  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.gif4 @. q$ c* y. e6 U6 f. _
已知椭圆的中心点,将3点代入椭圆的一般方程,用解析几何的方法计算即可。

. u3 i( F, z& J, ]可以不解方程,有纯几何方法解的(指能作出椭圆的长短轴的方向与长度)。
 楼主| 发表于 2015-1-19 20:45:01 | 显示全部楼层
本帖最后由 gongwen0519 于 2015-1-19 20:55 编辑 : t7 w' X/ Z5 p; F
woaishuijia 发表于 2015-1-19 19:43 static/image/common/back.gif& H/ }; {6 j- M
再来个LISP
  C: f7 ?8 \/ s, f' Y

' R/ H" x9 a3 d: A# Lwoaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码,手工复制或清理太费时间),谢谢。。  M/ b1 F/ \# }" ]* E. C$ `

: Y/ d8 m' m+ |! {3 [9 ]看来大家和曾经的楼主一样,看到圆锥二次曲线就生威蹙眉。
3 e# x2 _: Z. w7 I6 B
% r/ t# A& x* O# ?( A如果用尺寸约束与驱动,把椭圆约束到这些参数上也是可以的呀。( v( w; O# T+ Z4 z- Q

; c! p  q, f9 Q. @# j9 ~谢谢woaishuijia版主的VBA与lsp,今后工作中我就用您的程序了。
: ?; m( x) H4 e; P0 p: _# J
& o6 R. |& \) H- A% |为增加活跃一下的气氛,我还是稍后整理公布一下过程不是“很”复杂的几何作法吧。
发表于 2015-1-19 22:02:32 | 显示全部楼层
能给出长轴和短轴的公式吗?和水平角度的计算
发表于 2015-1-19 23:10:51 | 显示全部楼层
本帖最后由 woaishuijia 于 2015-1-19 23:25 编辑
9 k, d) {2 y/ E
gongwen0519 发表于 2015-1-19 20:45 http://www.3dportal.cn/discuz/static/image/common/back.gif
  ], j' ^  t; M% }woaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码, ...
7 k( t% Y, w8 h* U0 A& R- a

& [' A6 m: A  j% ] C3PE.rar (4.96 KB, 下载次数: 24)
 楼主| 发表于 2015-1-20 00:04:33 | 显示全部楼层
lisc2000 发表于 2015-1-19 22:02 static/image/common/back.gif
! m+ E, e3 S( y+ U" D. \" x& J# K能给出长轴和短轴的公式吗?和水平角度的计算

  t, Q+ `6 Z; g: g2 o# x已经整理好一种几何解法:0 y, W/ B. k3 d% D" l
. v8 N5 d2 U) C) v# V3 f+ Z5 B3 u
前面的说明:
; u1 p- M( i0 c0 ~5 s8 P4 ?/ f  L! t0 P2 r) i( T
d001.png
3 ~% H- G7 p! O2 g5 @+ R1 A( y; n9 E3 \
作图过程:
& }9 X- A& z' l3 b" v7 K) w& H
: c. n  z( \# M% a( C+ } d002.png 3 S* @1 V" n6 i6 Y

, t0 f: n6 ]; s1 ?% g: T d003.png / W% ]2 B  l+ F5 k  s- L0 x
下图是OP的作法:
2 V4 x4 d- J! \5 H/ y% U6 I d004.png
2 q4 T+ Y4 r+ Y* Z% f, X最后完成椭圆的长短半轴:
& N- N/ ~7 ]$ c1 |- R. s$ s1 d2 K* r- w6 u  {0 Q! Q8 [
d005.png ; w' y- e5 H) B6 b* x
" j# m$ u0 e5 f6 t# O
. N; _! M2 v! ]9 m7 f( o: O+ I7 B

评分

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

查看全部评分

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

0 t, F( q* p  Q+ O0 ]2 B谢谢,收藏了。
发表于 2015-1-20 13:46:59 | 显示全部楼层
学习了。     
发表于 2018-3-15 10:26:44 | 显示全部楼层
woaishuijia 发表于 2015-1-19 19:43# b. z+ p2 U; G8 q3 E0 t; }
再来个LISP
. f4 i7 k1 G' }3 A: ^3 b
这是什么?代码?用于CAD?

点评

是的。AutoCAD是一款极为优秀的二次开发平台软件,支持多种(比如C、.net、LISP、VBA、脚本)编程工具(语言)。用户可用其创制属于自己的个性化命令。一些常见的国产CAD软件(如PCCAD、开目、机械工程师等)就是在  详情 回复 发表于 2018-3-15 17:31
发表于 2018-3-15 17:31:39 | 显示全部楼层
小草包 发表于 2018-3-15 10:26) G. o% }' ~+ p% {) s
这是什么?代码?用于CAD?
! r6 M- Q, p" ?+ y2 T
是的。AutoCAD是一款极为优秀的二次开发平台软件,支持多种(比如C、.net、LISP、VBA、脚本)编程工具(语言)。用户可用其创制属于自己的个性化命令。一些常见的国产CAD软件(如PCCAD、开目、机械工程师等)就是在这个平台上二次开发的绘图软件产品。本帖的二楼、四楼就是针对楼主所提问题,分别用VBA和LISP编写的“已知中心及其上三点作椭圆”命令的程序代码。八楼附件是包含程序的工程文件,在AutoCAD绘图界面的“工具”菜单下使用相应的命令加载工程文件后,就可以像平时使用CAD命令画直线、画圆一样,使用这个自制命令,根据已知中心及其上三点画出椭圆了。
发表于 2018-3-15 20:02:56 | 显示全部楼层
TOPSOLID
- E! C, r/ y1 B  Z" I3 c用中心点加圆上两点即可

点评

做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。  详情 回复 发表于 2018-3-16 05:11
发表于 2018-3-16 05:11:36 | 显示全部楼层
JCKFC1997 发表于 2018-3-15 20:02
/ ?" v6 T7 V: j$ d  ITOPSOLID 8 x# Q# w+ Z* W! p% B( m
用中心点加圆上两点即可
+ c2 U+ L2 }0 _: ]' r! O
做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。
发表于 2018-3-22 17:16:50 | 显示全部楼层
可以吼出来啊/ u% b) E* T1 {1 l: j# n

可以

可以

点评

已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。 下图是根据相同的条件随便画的几个,自己看。  详情 回复 发表于 2018-3-27 00:41
发表于 2018-3-27 00:41:25 | 显示全部楼层
本帖最后由 woaishuijia 于 2018-3-27 00:42 编辑
; V7 [, Y) Z. L+ C& i& p7 `
JCKFC1997 发表于 2018-3-22 17:16
% G' P8 F$ v  O6 g, r1 d+ M. F3 e可以吼出来啊
5 r. ]1 ?& O$ r  c, z1 `
已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。
! p1 Q# U; h& W" p& ~下图是根据相同的条件随便画的几个,自己看。
: q* f) f* |; R6 |( c5 K, `8 W' D4 `$ e& [+ {
捕获.PNG
发表于 2018-11-11 09:32:10 | 显示全部楼层
下载个程序用用。
发表于 2018-12-3 09:59:14 | 显示全部楼层
woaishuijia 发表于 2015-1-19 12:32$ S! w6 i, X9 N  l+ P# y
怎么没人回呢?
( J0 t8 h! M- G/ i: x1 J- h
请教一下版主,现在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% ^3 q9 @* ^, U2 C1 A. z
请教一下版主,现在CAD编程方面,学习LISP和VBA各有什么优缺点?初学想学习编程,想询问一下版主学习哪个 ...
: b' ]# D  V# L
简单说,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 n# r) G- k1 ?% A7 n" I6 G简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面 ...
; r( c/ s, S9 o- D1 y
好的,感谢版主大大。。。我初学了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# x5 `4 ^# `& V! D
好的,感谢版主大大。。。我初学了EXCEL的编程,感觉还可以,所以就想结合CAD编程,尝试在借助excel中的 ...

: q5 s% |3 W5 j2 m: w0 NEXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编程简直易如反掌。而且VBA的一大优势就是在支持VBA的软件之间交换数据,所以你说的“借助excel中的数据,自动完成在CAD中的绘图”就是自然而然的事。
发表于 2018-12-8 21:17:27 | 显示全部楼层
woaishuijia 发表于 2018-12-8 20:33; R6 K' N9 }: u* q& o( K. }0 c
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...
( C# F5 o6 Y% O* X' h! z' N9 b2 x
好的,感谢版主大大!给了我很大的信心!
发表于 2019-1-29 12:43:15 | 显示全部楼层
woaishuijia 发表于 2018-12-8 20:33
# w* v  A5 s* LEXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...

5 s1 K1 l) n5 A老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻烦多了!没有录制宏,我该怎么学习CAD的VBA呢?

点评

把邮箱给我  详情 回复 发表于 2019-1-30 22:13
发表于 2019-1-30 22:13:09 | 显示全部楼层
kuangben8 发表于 2019-1-29 12:43( |8 J  h  k! t- D$ e
老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻 ...
; k5 L  c8 ?$ [7 c4 `7 G
把邮箱给我
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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