QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 gongwen0519 于 2015-1-14 00:21 编辑 3 H: A/ s& H( w( y: W: O. o" S

- [) z7 R2 L2 `/ B% a7 o本题是继这个http://www.3dportal.cn/discuz/fo ... ead&tid=1449246【作出最长值(不限软件)】帖子而来,该帖椭圆中心可知,同时也可以随便得到椭圆上的三点。5 q% C9 B* L4 M1 n
2 Q6 G1 j7 H/ ]  q/ P
几何作图作出OX、OY的方向与长度即可,ACAD则画出整个椭圆:
7 E7 c% U$ _6 S7 A: @9 X: @& v6 @: z/ `5 d5 P0 H& n+ J/ O
(这类问题在工程实际中很实用。): G# Q/ K0 N+ c! u! e9 I/ B! v' T

$ P8 ]6 L8 k" ~/ J tuoyuan.png
6 }+ d  o# X. f2 f- m5 {

评分

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

查看全部评分

发表于 2015-1-19 12:32:28 | 显示全部楼层 来自: 中国辽宁抚顺
怎么没人回呢?
  1. Sub C3PE()' M& g, G- L5 k" J- W% h- M9 v* h
  2. Dim P0(2) As Double, P1 As Variant, P2 As Variant, P3 As Variant, P4 As Variant$ U+ ]$ H$ A8 _& d1 u
  3. Dim X1 As Double, Y1 As Double, X2 As Double, Y2 As Double, X3 As Double, Y3 As Double" ]0 j; R  W$ E  t
  4. Dim A As Double, B As Double, C As Double, F As Double, Ang As Double, R1 As Double, R2 As Double
    ; ]) k6 V4 F* C4 F; C
  5. On Error GoTo 10
    6 f5 f5 P; O% }% L0 ?5 [
  6. With ThisDrawing4 r: z' @0 ]' ~# _: y! f$ ]
  7. P1 = .Utility.GetPoint(, "指定中心点")
    6 V/ C; B3 P0 O& H- U! W
  8. P2 = .Utility.GetPoint(, "指定第一点")8 w5 Z" c: P  @0 @6 v0 A3 d% [
  9. P3 = .Utility.GetPoint(, "指定第二点")9 V1 I" s3 X& ?( ~/ _
  10. P4 = .Utility.GetPoint(, "指定第三点")' t. @$ p) ?6 l% q5 C. H3 B
  11. X1 = P2(0) - P1(0)
    8 x7 C, H6 C4 G' w& X$ k7 o9 Y
  12. Y1 = P2(1) - P1(1)0 T$ ^8 ]! L) c( V6 i
  13. X2 = P3(0) - P1(0)
    - F5 ]2 @4 d3 b" x9 `* Z4 Z) A
  14. Y2 = P3(1) - P1(1)3 a& w. I6 @6 W) ?- u9 m7 Z
  15. X3 = P4(0) - P1(0)# v$ {' u! v" E
  16. Y3 = P4(1) - P1(1)
    - N( o! }  I9 F4 x$ f
  17. A = (X1 * Y1 - X2 * Y2) * (Y1 ^ 2 - Y3 ^ 2) - (X1 * Y1 - X3 * Y3) * (Y1 ^ 2 - Y2 ^ 2)  ]+ y7 A: V% v' h" ~1 I
  18. If A <> 0 Then' w6 d6 H# E7 V! g  f! w9 X
  19. B = ((X1 ^ 2 - X2 ^ 2) * (X1 * Y1 - X3 * Y3) - (X1 ^ 2 - X3 ^ 2) * (X1 * Y1 - X2 * Y2)) / A$ C. R; O- E7 l" g% A
  20. C = ((X1 ^ 2 - X3 ^ 2) * (Y1 ^ 2 - Y2 ^ 2) - (X1 ^ 2 - X2 ^ 2) * (Y1 ^ 2 - Y3 ^ 2)) / A
    * d1 f. `1 M! }- [2 t: r
  21. F = -X1 ^ 2 - B * Y1 ^ 2 - C * X1 * Y1
    # }+ ^- ?# ?5 u5 N- L) L
  22. If C = 0 Then
    / L4 j5 D$ }2 m+ B
  23. If B > 0 And F < 0 Then
    " \8 j, B. G$ E* b( N( w6 X; _
  24. Ang = 04 E/ G, a5 U; A
  25. R1 = Sqr(-F)
    & y7 P) D2 B+ J+ m! I0 V
  26. R2 = Sqr(-F / B)1 s+ {7 L9 J- `$ E: H) G; K
  27. Else+ b* D, u8 v* u* f
  28. Exit Sub+ P$ ^$ Q: x9 |, x9 L) P% ]
  29. End If
    - K. |4 n1 \7 m1 N
  30. Else3 @8 |1 @" p9 _4 X0 s7 p
  31. If B = 1 Then
    - j( z" e* @. k4 U& g, A$ T
  32. If F < 0 And C > -2 And C < 2 Then. Q. k5 v) n- A0 Z8 `+ F$ j
  33. Ang = .Utility.AngleToReal(45, acDegrees)& Q" G$ J6 H. z" C: C
  34. R1 = Sqr(-2 * F / (2 + C))0 u  h5 [0 h) w4 P; S3 c0 |3 }
  35. R2 = Sqr(-2 * F / (2 - C)). i& a6 i! b0 r: T& l9 A; K
  36. Else
    9 f6 M, L6 w. p# l/ v- e6 j& u$ a
  37. Exit Sub
    - a% [5 F7 h( M2 p2 Z& z
  38. End If; @$ O9 }) R* r& d
  39. Else
    ; V  O% Y/ p9 Y8 ]
  40. Ang = Atn(C / (1 - B)) / 2
    . S" n. p4 Y- Q( P* L" [# d/ Z
  41. If Ang < 0 Then Ang = Ang + .Utility.AngleToReal(90, acDegrees)
    ! o4 t8 S$ f; }% G, A! J" F
  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 _
    / Q8 f* W+ ^2 |8 K2 @1 L$ j
  43. B < -1 And F > 0 And C > (B + Tan(Ang) ^ 2) / Tan(Ang) And C < -(1 + B * Tan(Ang) ^ 2) / Tan(Ang) Then; w8 q' h2 y6 x& u- k1 |, l
  44. R2 = -F * (1 + Tan(Ang) ^ 2)
    " j2 h9 [- k' `
  45. R1 = Sqr(R2 / (1 + B * Tan(Ang) ^ 2 + C * Tan(Ang)))1 S0 q9 H" I, Q' l1 H6 M" a
  46. R2 = Sqr(R2 / (B + Tan(Ang) ^ 2 - C * Tan(Ang)))
    5 V: M1 N( n; H( g: t7 t
  47. Else
    1 _  T/ m4 Y4 e* h
  48. Exit Sub
    6 E* X! M: K# ^0 R5 p. |
  49. End If
    * K% r) z  l0 h/ m+ O
  50. End If
    9 Q; v6 F) a, e( n4 v- }
  51. End If
    8 K7 j1 _% }6 t
  52. Else
    # a. L' |: m2 @# ~- D: H
  53. Exit Sub
    & C8 r+ ~7 S/ k
  54. End If. l3 k: |: S  W8 @* P
  55. If R2 < R1 Then
    / ~. I! v6 H$ V& C4 z
  56. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang, R1), R2 / R1
    - y+ l+ m. W9 A& [1 i/ `
  57. Else
    5 A3 T) T$ Z* v; L! C
  58. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang + .Utility.AngleToReal(90, acDegrees), R2), R1 / R2, k+ A. |+ o: N9 z
  59. End If
    4 k- n4 }% s* d
  60. End With2 u$ V( l7 C- e9 ~) ?
  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 编辑
; _- X" Y: S( G3 T- ^1 N! \
8 A3 p' c( X" _8 J; _& L再来个LISP
  1. (defun c:c3pe7 v& h$ J2 o$ S7 R& c
  2.        (/ old p0 p1 p2 p3 p4 x1 y1 x2 y2 x3 y3 a b c f ang r1 r2)& X% A- U' _- h- q
  3.   (setvar "CMDECHO" 0)
    . |, P' I' J" F+ z. D- _* C
  4.   (setq p0 (list 0 0 0)
    9 }3 }5 U, a! R
  5. p1 (getpoint "\n 指定中心点:")
    ) M1 |$ `7 ~1 J$ m9 K! k& v5 H
  6. p2 (getpoint "\n 指定第一点:")1 _9 c6 j1 }- L, D1 r* c; @
  7. p3 (getpoint "\n 指定第二点:"), f9 ?9 K! x  t. o7 o
  8. p4 (getpoint "\n 指定第三点:")
    3 {1 M) ?, w9 c5 }3 n7 D6 E
  9. a  (car p1)8 U% f/ i5 u, v. }4 f
  10. b  (cadr p1)
    1 j' Y2 g' y) ?+ G" B, M
  11. x1 (- (car p2) a)  G$ E% F! W% Z! U7 t4 A
  12. y1 (- (cadr p2) b)+ N" `& j1 d& [8 A. s' w
  13. x2 (- (car p3) a), M3 `& _7 S& R( v* X7 k. c
  14. y2 (- (cadr p3) b)
    4 l; @2 O: h. F" r, I
  15. x3 (- (car p4) a)
    & M# ~  _6 ]; J% C
  16. y3 (- (cadr p4) b)
    , \$ P0 f( P) Q* k5 X6 `
  17. a  (- (* (- (* x1 y1) (* x2 y2)) (- (* y1 y1) (* y3 y3)))
    : d3 L2 x. P8 \' S& R
  18.        (* (- (* x1 y1) (* x3 y3)) (- (* y1 y1) (* y2 y2)))9 ?" x3 g' G/ @( o( ?! T
  19.     )
    ! y2 a  h- X5 r0 k/ [5 d
  20.   )+ L% `5 Y" Z: d7 y3 D, j$ L4 w
  21.   (if (/= a 0.0)6 ?1 ]" H' `- Z: U- t" @6 `
  22.     (progn
    3 v* B, k) Z. x; n: I2 m9 r
  23.       (setq b (/ (- (* (- (* x1 x1) (* x2 x2)) (- (* x1 y1) (* x3 y3)))
    1 f+ b& C2 u) M4 G
  24.       (* (- (* x1 x1) (* x3 x3)) (- (* x1 y1) (* x2 y2)))
    : H/ x1 H1 B: I% F* a. E
  25.    )8 K8 s$ w  A; m/ d5 o, l
  26.    a
    % p8 Z3 i% i5 |" [" t
  27.        )) g/ G0 }9 w+ f0 m6 y) W/ X, D- T
  28.      c (/ (- (* (- (* x1 x1) (* x3 x3)) (- (* y1 y1) (* y2 y2)))+ @' p/ |1 [3 O) f# l3 G2 J
  29.       (* (- (* x1 x1) (* x2 x2)) (- (* y1 y1) (* y3 y3)))
    6 K5 i4 _2 N. ^" Z# \
  30.    ), ]5 Y' m6 r# T1 O- z; j4 R
  31.    a
    8 C8 J" ^9 v/ F! m
  32.        )
      \$ [  A2 G% I
  33.      f (- 0 (* x1 x1) (* b y1 y1) (* c x1 y1))! ~) F: n; e# N6 [, a
  34.       )
    5 P0 T, t, X' ^( ?3 Z! z
  35.       (if (zerop c); x! e; t2 i) k% ~+ S( j
  36. (if (and (> b 0.0) (< f 0.0))( q8 n# q; Q& p# P) x
  37.    (setq ang 0.0
    ) l1 j/ a* x6 l$ s- a
  38.   r1  (sqrt (- 0 f)). P: I( e- D7 t# ~2 p# k
  39.   r2  (sqrt (- 0 (/ f b)))
    : X# a0 o4 z9 b9 I  v: a5 B' I6 C
  40.    )
    ( j/ G/ e+ g. E) f- O; i
  41. )
    4 }9 t4 i& o8 \. J) L1 G: y6 w/ I
  42. (progn4 [# ?9 G6 e1 N) h: g- @' [5 S
  43.    (if (= b 1.0)
    : k. @2 ]  L8 C# [" k% j' |4 u3 z
  44.      (if (and (< f 0.0) (> c -2.0) (< c 2.0))
    8 ]3 H& e9 E& n$ P
  45.        (setq ang (/ pi 4)
    ; W* i2 B: m# |" z0 Y3 G
  46.       r1 (sqrt (* -2 (/ f (+ 2 c))))
    $ n+ t: V! c8 F$ T( p. f3 g# E0 B# u
  47.       r2 (sqrt (* -2 (/ f (- 2 c))))
    + p- Z5 S7 l- x- n# B3 A
  48.        ), \0 f) }  r! \/ @, J
  49.      ): Q9 e  O8 Y7 P* ^( l9 t$ t. Y
  50.      (progn7 Y& K  K" n# e
  51.        (setq ang (/ (atan (/ c (- 1 b)))8 A# h2 _2 |, f' ^; p* _# q9 \( Q
  52.       2. |# R( S9 y7 N* m% X: T" K- P" X- z- y
  53.    )
    & m, Z4 j& i$ ~
  54.        )& @0 d4 m8 D6 d" _  U
  55.        (if (< ang 0.0)# c+ j& o: t, T1 N# q
  56.   (setq ang (+ ang (/ pi 2)))) ~* M  M0 o0 L  z, c: ]  N- k
  57.        )
    3 |, R* H% p( b; m
  58.        (setq a (/ (sin ang) (cos ang)))4 d  R3 u4 |+ G, h) q* _( K. R1 o
  59.        (if (or (and (> b -1.0)6 t' m$ |8 u' }2 G2 v
  60.       (< f 0.0)
    ' x- C8 c3 D. N
  61.       (> c (/ (- -1.0 (* b (* a a))) a))
    $ `- f2 i9 y& i% Q; e- ~
  62.       (< c (/ (+ b (* a a)) a))% O" U; Q9 \* b" a- x
  63.         )
    4 q1 Q9 v* S3 q$ t- C
  64.         (and (< b -1.0)  N0 ?) ]; P! Z  G% A
  65.       (> f 0.0)6 ?+ C* b1 i4 U  q$ _" E* Y
  66.       (> c (/ (+ b (* a a)) a))' z9 K: ]* C' w4 U& ?2 v
  67.       (< c (/ (- -1.0 (* b (* a a))) a))
    % a9 ~! F! v; I
  68.         )! B9 d7 {" a( l0 ?/ C' E
  69.     )
    " ^5 x2 u& Q' ^4 C2 q7 G3 n
  70.   (setq r2 (* -1 f (1+ (* a a)))7 c2 x' {% h2 b, s
  71.         r1 (sqrt (/ r2 (+ 1 (* b a a) (* c a))))" V& E/ a* E! w0 U
  72.         r2 (sqrt (/ r2 (- (+ b (* a a)) (* c a)))): S( |# f; b' v& o& Q+ J6 G
  73.   )
    . R! x  G7 q2 {5 t) f
  74.        ); ^* C8 h: \7 i4 I5 ~, j
  75.      )
    : `: ^$ d+ H+ k, {& \, r
  76.    )
    5 O0 v' F/ C! G$ v, s4 s
  77. )
    . S5 D( B+ `* h
  78.       )9 \# m& c4 d" B# W
  79.     )
    ; N  r) n8 T3 o
  80.   )3 G/ R& d4 R6 C6 \  U
  81.   (if r18 h9 n; @: y0 x2 R% D1 v
  82.     (progn* N/ l8 z  z/ D+ ^  x
  83.       (setq old (getvar "OSMODE"))
    0 x$ U( _3 x  G3 P9 p1 U
  84.       (setvar "OSMODE" 0)8 W& s5 w2 Y+ Q9 Z8 Q! t$ @  X
  85.       (command "ellipse"
    8 x- {9 m9 E4 r* }$ G6 s/ u! c) I
  86.         "c"4 |- p; B; b' y) R6 E. |* a
  87.         p1
    - }8 R; G% g0 y  W. }* O
  88.         (polar p1 ang r1)
    : Q+ l* [. _" T( E9 E: u6 v
  89.         r2
    % U1 w( \  ~  y' h& r/ y% |8 H
  90.       )/ R2 E* M$ x' A  P; F, I6 |
  91.       (setvar "OSMODE" old)
    $ [) @  V! h* h/ Z* n
  92.     )
    ) Z1 w  H1 j7 g+ E0 j, g
  93.   )
    # u. b9 t0 X5 i$ E
  94.   (princ)
    ; k; T1 f* y6 X6 f' @' S
  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
# K; A; N+ k+ n- R已知椭圆的中心点,将3点代入椭圆的一般方程,用解析几何的方法计算即可。
& Z' U* |( M/ f2 p
可以不解方程,有纯几何方法解的(指能作出椭圆的长短轴的方向与长度)。
 楼主| 发表于 2015-1-19 20:45:01 | 显示全部楼层 来自: 中国北京
本帖最后由 gongwen0519 于 2015-1-19 20:55 编辑 0 c4 _9 P+ H- {! M: _
woaishuijia 发表于 2015-1-19 19:43 static/image/common/back.gif
+ V5 e6 d* K2 R0 ]3 t( ^) q8 _4 @再来个LISP
' b; V) `& i3 m- h8 {7 h; A: N6 h% G
' I3 L1 |3 i1 {- }
woaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码,手工复制或清理太费时间),谢谢。。
, v6 |8 z/ ?: ~3 P; h3 e! ?1 e
- n3 t7 F, Y9 r; v$ D/ p+ v看来大家和曾经的楼主一样,看到圆锥二次曲线就生威蹙眉。
. l8 s" d4 H; ^; D5 i1 D0 h& R
如果用尺寸约束与驱动,把椭圆约束到这些参数上也是可以的呀。
- C. x4 Z" C) l/ X# d7 k6 }9 N! w7 r
$ |* C- z- c6 L: L1 ^谢谢woaishuijia版主的VBA与lsp,今后工作中我就用您的程序了。
$ f, S- J; x8 _" W1 s) w% o0 u/ i0 j- H* H9 ]
为增加活跃一下的气氛,我还是稍后整理公布一下过程不是“很”复杂的几何作法吧。
发表于 2015-1-19 22:02:32 | 显示全部楼层 来自: 中国辽宁大连
能给出长轴和短轴的公式吗?和水平角度的计算
发表于 2015-1-19 23:10:51 | 显示全部楼层 来自: 中国辽宁营口
本帖最后由 woaishuijia 于 2015-1-19 23:25 编辑 1 D! s& y' p* C& {- u& o2 T  V
gongwen0519 发表于 2015-1-19 20:45 http://www.3dportal.cn/discuz/static/image/common/back.gif
5 Q/ v, N: X' p; d/ K% C# @woaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码, ...
$ U# x( P% W3 ]. \5 B) f  P
1 |' O% d$ w& |, S( x
C3PE.rar (4.96 KB, 下载次数: 25)
 楼主| 发表于 2015-1-20 00:04:33 | 显示全部楼层 来自: 中国北京
lisc2000 发表于 2015-1-19 22:02 static/image/common/back.gif, E3 c4 |: h5 w9 _3 ]1 H8 C
能给出长轴和短轴的公式吗?和水平角度的计算

1 d! W$ Q& x, Y8 G+ X  {已经整理好一种几何解法:" i8 V' l4 B& x  ~$ t' r3 B, t# D

  t- @% K# r& _9 o" N1 k前面的说明:* v1 ^0 r: `$ @8 d/ H1 x
  k/ m, J8 K: N* Y  ^
d001.png
9 j: N5 P- w, [2 Q3 I3 T. f/ [" f$ I' w+ ^, e4 @+ L2 t5 R
作图过程:& X5 O# v4 ~1 f6 _/ Y: e

7 l8 l8 R& E/ m  ] d002.png
' R, @+ h8 ]; P' _
3 S9 w( p* ^6 f, w7 m, k d003.png
: G9 w; u& {9 r9 O$ N下图是OP的作法:- ^+ O, E; n3 A, f0 k
d004.png % Q# X1 q: `5 ^/ H+ p
最后完成椭圆的长短半轴:3 _% n; ^! S$ {+ k9 \4 z3 a% u" o

. _1 V* r$ ~4 e. Q* X d005.png
5 {0 z+ N  [/ C- H8 \# F" M/ m
; }$ S! C* m8 v" L+ A0 w

评分

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

查看全部评分

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

& F) ^4 j. P  N% ^! P- m2 ?3 e5 j谢谢,收藏了。
发表于 2015-1-20 13:46:59 | 显示全部楼层 来自: 中国天津
学习了。     
发表于 2018-3-15 10:26:44 | 显示全部楼层 来自: 中国浙江宁波
woaishuijia 发表于 2015-1-19 19:43
7 [" v: E7 G3 t' D1 R* Z再来个LISP

- t  N9 u2 b6 v这是什么?代码?用于CAD?

点评

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

点评

做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。  详情 回复 发表于 2018-3-16 05:11
发表于 2018-3-16 05:11:36 | 显示全部楼层 来自: 中国北京
JCKFC1997 发表于 2018-3-15 20:027 o' ~7 j$ [5 ]1 \  Z
TOPSOLID
2 g; a" f" K; M. H2 d用中心点加圆上两点即可
" y2 V# C' G5 }$ K! D
做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。
发表于 2018-3-22 17:16:50 | 显示全部楼层 来自: 中国浙江宁波
可以吼出来啊
# Y, Q7 `  F- d% B( L9 Z: ^

可以

可以

点评

已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。 下图是根据相同的条件随便画的几个,自己看。  详情 回复 发表于 2018-3-27 00:41
发表于 2018-3-27 00:41:25 | 显示全部楼层 来自: 中国北京
本帖最后由 woaishuijia 于 2018-3-27 00:42 编辑
9 U0 U, K7 T, n
JCKFC1997 发表于 2018-3-22 17:16& A# \, v! u8 d4 H8 f9 ~8 f
可以吼出来啊

: D6 Q6 k0 r) ^' n  t# N' p已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。' v; L- M  q( Y
下图是根据相同的条件随便画的几个,自己看。0 J" r7 G) ~- E$ d2 h) N1 ]

- O8 e! p  v7 _
捕获.PNG
发表于 2018-11-11 09:32:10 | 显示全部楼层 来自: 中国广东佛山
下载个程序用用。
发表于 2018-12-3 09:59:14 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2015-1-19 12:32* o* p0 i, L; i$ P8 R
怎么没人回呢?

3 ^- d' |3 Z! q4 b! W% u请教一下版主,现在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" B) ~3 m8 d2 g% [5 v( Q
请教一下版主,现在CAD编程方面,学习LISP和VBA各有什么优缺点?初学想学习编程,想询问一下版主学习哪个 ...

$ T1 j* U' O' X! n简单说,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
7 h: a) O3 a# l) r3 p9 K9 M简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面 ...
5 U! c8 O$ N& q! ~
好的,感谢版主大大。。。我初学了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
! ~- p2 C0 w4 X! G& l& g好的,感谢版主大大。。。我初学了EXCEL的编程,感觉还可以,所以就想结合CAD编程,尝试在借助excel中的 ...

4 l+ [* _/ Q! X9 J  j) Q8 v, A. \EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编程简直易如反掌。而且VBA的一大优势就是在支持VBA的软件之间交换数据,所以你说的“借助excel中的数据,自动完成在CAD中的绘图”就是自然而然的事。
发表于 2018-12-8 21:17:27 | 显示全部楼层 来自: 中国
woaishuijia 发表于 2018-12-8 20:333 g) F& E  x" T+ I9 i
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...
4 y+ W7 ^( W/ ?4 f8 [/ Z
好的,感谢版主大大!给了我很大的信心!
发表于 2019-1-29 12:43:15 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2018-12-8 20:33
! E+ |2 s8 @1 {" HEXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...

8 d: w: _& B. \: j, A" c$ ^老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻烦多了!没有录制宏,我该怎么学习CAD的VBA呢?
发表于 2019-1-30 22:13:09 | 显示全部楼层 来自: 中国北京
kuangben8 发表于 2019-1-29 12:43
/ S( g* N, D- R* Q$ O) t老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻 ...
2 A1 M- d5 c; D$ M
把邮箱给我
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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