QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 gongwen0519 于 2015-1-14 00:21 编辑
; d7 |: [( U, R% f( Q
- D9 J% e  u0 C3 f8 k! c本题是继这个http://www.3dportal.cn/discuz/fo ... ead&tid=1449246【作出最长值(不限软件)】帖子而来,该帖椭圆中心可知,同时也可以随便得到椭圆上的三点。
1 |. }+ i  ~& h$ Q' U
( o* J4 }: U; y# g6 J几何作图作出OX、OY的方向与长度即可,ACAD则画出整个椭圆:
. ~) U2 a9 L1 y; z
& ]/ Z$ W6 O6 ~7 b: [% K(这类问题在工程实际中很实用。)
7 b$ O' ^  m5 y% ?9 `/ |) f) f7 O; t4 F  U; j, W# C& Y- S. B8 E8 w
tuoyuan.png 1 R9 B$ d/ i' W1 I4 Z& |  l

评分

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

查看全部评分

发表于 2015-1-19 12:32:28 | 显示全部楼层 来自: 中国辽宁抚顺
怎么没人回呢?
  1. Sub C3PE()6 i# x# ^' a. N' K+ l9 x
  2. Dim P0(2) As Double, P1 As Variant, P2 As Variant, P3 As Variant, P4 As Variant
    / ~" q7 L6 f: V2 d& R
  3. Dim X1 As Double, Y1 As Double, X2 As Double, Y2 As Double, X3 As Double, Y3 As Double
      [6 z* I/ Y. E; ?1 O  M" D
  4. Dim A As Double, B As Double, C As Double, F As Double, Ang As Double, R1 As Double, R2 As Double
    , H# D" [( x6 |" ?4 l! p
  5. On Error GoTo 10/ [% V* I& N0 A% i8 q
  6. With ThisDrawing. ]" J9 V, [6 H/ F. T1 j
  7. P1 = .Utility.GetPoint(, "指定中心点")
      H3 m: [. e9 n4 I- ]
  8. P2 = .Utility.GetPoint(, "指定第一点")% b- ^, _6 @5 c& y  D9 l) o
  9. P3 = .Utility.GetPoint(, "指定第二点")0 ?$ D) g/ ~0 W" V
  10. P4 = .Utility.GetPoint(, "指定第三点")
    $ t, N% k0 W" Z, m* z
  11. X1 = P2(0) - P1(0)
    % P0 f6 u' k. E, G
  12. Y1 = P2(1) - P1(1)
    1 N: s8 T. h% U7 f% b! g
  13. X2 = P3(0) - P1(0)7 ]6 l+ h3 r; R* v2 N- C( W
  14. Y2 = P3(1) - P1(1)
    $ W* y! V; Y8 B& K5 k
  15. X3 = P4(0) - P1(0)" Q" ~' n* D6 }( {7 ?
  16. Y3 = P4(1) - P1(1)& J% m% A) H2 P+ E
  17. A = (X1 * Y1 - X2 * Y2) * (Y1 ^ 2 - Y3 ^ 2) - (X1 * Y1 - X3 * Y3) * (Y1 ^ 2 - Y2 ^ 2)
    : R/ z+ X. L! X# ^
  18. If A <> 0 Then) z6 O# h/ V  Z  n
  19. B = ((X1 ^ 2 - X2 ^ 2) * (X1 * Y1 - X3 * Y3) - (X1 ^ 2 - X3 ^ 2) * (X1 * Y1 - X2 * Y2)) / A
    4 @7 H, c* i) ]
  20. C = ((X1 ^ 2 - X3 ^ 2) * (Y1 ^ 2 - Y2 ^ 2) - (X1 ^ 2 - X2 ^ 2) * (Y1 ^ 2 - Y3 ^ 2)) / A' I/ ]- d( E# G3 ?7 f$ j$ {
  21. F = -X1 ^ 2 - B * Y1 ^ 2 - C * X1 * Y1
    - Q3 j( b( T" i% ], k
  22. If C = 0 Then! P; ~" M8 g1 M, G7 k: B- }
  23. If B > 0 And F < 0 Then
    ) c, l2 j! C$ ~/ c7 M* P, p4 j: p
  24. Ang = 0" `: o+ v9 O' w6 f3 k/ l7 q
  25. R1 = Sqr(-F)
    8 i& Q' i! G/ I5 K- [3 _
  26. R2 = Sqr(-F / B)' X, U0 Y% r. ^$ G) r5 `' ]* \
  27. Else
    4 Y# r7 \1 i; U6 b* i9 @0 y4 q* V
  28. Exit Sub
    ! p; e8 j* X5 Z3 |
  29. End If8 s5 {- X  H* r! G, Y+ h3 R1 f
  30. Else# ?- ?/ t- x7 z- a$ @+ X+ g( B0 s
  31. If B = 1 Then
    1 @6 s- E0 w; w
  32. If F < 0 And C > -2 And C < 2 Then  C  D: v7 l% E5 b* |) d+ x: B: X5 Q/ t0 U
  33. Ang = .Utility.AngleToReal(45, acDegrees)
    " p2 S7 _0 O8 F# Z; d
  34. R1 = Sqr(-2 * F / (2 + C))
    ! t( C- c' m* b" S6 @" y* m
  35. R2 = Sqr(-2 * F / (2 - C))
    % a& S: C) A; U. A' B0 R
  36. Else" i0 e1 h) U3 R2 I
  37. Exit Sub! r5 E* B- U/ W" v
  38. End If
    . m/ e7 \, C' A) j$ v  w8 f- n7 `# U" r
  39. Else8 b* B) A9 m& E) a
  40. Ang = Atn(C / (1 - B)) / 23 u" A4 @4 R5 q, y
  41. If Ang < 0 Then Ang = Ang + .Utility.AngleToReal(90, acDegrees)
      ?, J  Y/ w9 l- l- ^7 b
  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 _
    ! Z; q$ S6 \* g; {( ~) O
  43. B < -1 And F > 0 And C > (B + Tan(Ang) ^ 2) / Tan(Ang) And C < -(1 + B * Tan(Ang) ^ 2) / Tan(Ang) Then
    " C8 }$ g9 O* G
  44. R2 = -F * (1 + Tan(Ang) ^ 2)
    . c$ G% J3 p2 Z, C
  45. R1 = Sqr(R2 / (1 + B * Tan(Ang) ^ 2 + C * Tan(Ang)))
    & z& m3 k* V/ p/ U  @
  46. R2 = Sqr(R2 / (B + Tan(Ang) ^ 2 - C * Tan(Ang))), R9 {4 V: W  z, ^1 d
  47. Else
    4 Y2 c2 i" d/ B/ m$ h9 C! p$ G
  48. Exit Sub& ^/ g4 F. j# ]1 r1 ^
  49. End If$ l- {* i/ f" `1 H( p
  50. End If3 F/ ~' P+ T" B: V
  51. End If
    $ x1 v4 [$ |9 @% A0 L0 U( |2 {% g
  52. Else
    ; ~. S/ x7 u" E) l# B
  53. Exit Sub
    : k1 F  Q# ?- O- @: x
  54. End If6 y( f% @0 n; g) i5 j! s1 X
  55. If R2 < R1 Then
    " g% e) t7 e, W  Y- |) v7 ^
  56. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang, R1), R2 / R19 }" H1 |5 U3 N1 C! R
  57. Else
    . G: H# }9 [! g7 T
  58. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang + .Utility.AngleToReal(90, acDegrees), R2), R1 / R2& t8 r( {7 b, s. L) k% e$ S# e* |! {
  59. End If
    " [, r! Z: u; Y) v
  60. End With1 ?4 ~0 B: f3 a  l0 O% Y8 Z
  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 编辑 % G1 d/ g9 B* m2 p
( s, J: R' g4 L0 f4 d; h$ v" r
再来个LISP
  1. (defun c:c3pe
    / L4 v# |1 I% M* N2 u
  2.        (/ old p0 p1 p2 p3 p4 x1 y1 x2 y2 x3 y3 a b c f ang r1 r2)) M5 X4 w4 S2 M# \4 t/ u* V
  3.   (setvar "CMDECHO" 0)3 \. Z& t. A) h+ X$ ^& g3 A4 d, i
  4.   (setq p0 (list 0 0 0)
    8 g1 g, M2 D  m( {* F
  5. p1 (getpoint "\n 指定中心点:")
    ! o1 F. p7 J4 u3 q0 _
  6. p2 (getpoint "\n 指定第一点:")
    : }$ ]' F  `1 q  Y3 ^3 o: O
  7. p3 (getpoint "\n 指定第二点:")
    4 U/ y- w, a- F9 {. Y& ^
  8. p4 (getpoint "\n 指定第三点:")
    $ U) S9 R' v' h1 ^; r; ^8 k
  9. a  (car p1)1 \6 j( V, P. S4 L$ S9 ]3 d
  10. b  (cadr p1)* l, |+ S) ~9 [$ ^$ {5 Y: b3 \
  11. x1 (- (car p2) a)$ x! n: p& u* e3 k  R
  12. y1 (- (cadr p2) b). p7 J& u+ f+ ?+ A# @. B" w% H
  13. x2 (- (car p3) a)( G4 v7 n) E1 V1 @7 m8 h
  14. y2 (- (cadr p3) b)
    / r' Q% a& I$ Y+ P& G) s+ M' L
  15. x3 (- (car p4) a)
    + `+ l' I2 \, P" T9 P
  16. y3 (- (cadr p4) b)
    9 i" O* G; U' r  q1 }
  17. a  (- (* (- (* x1 y1) (* x2 y2)) (- (* y1 y1) (* y3 y3)))
    2 F8 O) t$ I8 [0 r# Y4 l- s- l) c
  18.        (* (- (* x1 y1) (* x3 y3)) (- (* y1 y1) (* y2 y2)))
    6 }; T' O+ x0 r: O) E" z* I
  19.     )
    ! E; B: E) |  }! Z# n; B5 G
  20.   )
    " W1 i$ U: o+ d
  21.   (if (/= a 0.0)
    ) [$ a7 D# `# j6 l% f
  22.     (progn, d& G2 b7 D* n% o
  23.       (setq b (/ (- (* (- (* x1 x1) (* x2 x2)) (- (* x1 y1) (* x3 y3)))
    # i$ |+ a" ^6 A! F% T
  24.       (* (- (* x1 x1) (* x3 x3)) (- (* x1 y1) (* x2 y2)))/ C6 P8 r5 ~* h+ R9 x) b! V& W  T" ?
  25.    )0 ^2 v7 x) s2 i8 r' Q! u! O
  26.    a
    8 F8 h% J9 F+ ~5 K) D% X( k
  27.        )
    & j' v( u) T5 K3 H8 a
  28.      c (/ (- (* (- (* x1 x1) (* x3 x3)) (- (* y1 y1) (* y2 y2))). I- j# e( q, h' D
  29.       (* (- (* x1 x1) (* x2 x2)) (- (* y1 y1) (* y3 y3)))/ |# e; L; P8 |$ P3 F1 \* g4 o
  30.    )
    & o) b( {& d! `
  31.    a
    , m, o7 |- Z+ @6 i. x6 z
  32.        )0 J; D6 j1 `- c. W
  33.      f (- 0 (* x1 x1) (* b y1 y1) (* c x1 y1))" D. B0 e6 c; Q  U! A3 [0 K
  34.       )
    " L+ M4 o6 ~: S" o
  35.       (if (zerop c)& c5 h+ H6 A2 D6 b
  36. (if (and (> b 0.0) (< f 0.0))$ Y0 ~1 M2 g: H
  37.    (setq ang 0.07 Q0 Q0 S) x( L3 X  O* G0 ~, l! W
  38.   r1  (sqrt (- 0 f))7 C/ [9 Q9 b# x3 z6 J* q" v8 j, m# X
  39.   r2  (sqrt (- 0 (/ f b)))
    ( Q0 Q$ A: k" j* X. J+ i
  40.    )! ]( f; I" O1 I' m2 Y
  41. )
    9 s: u8 \5 E+ u4 [* Y
  42. (progn
    . N1 f0 X+ G3 V) U
  43.    (if (= b 1.0)# Z% l9 @( F7 A2 W/ x6 ?
  44.      (if (and (< f 0.0) (> c -2.0) (< c 2.0))
    * c6 f8 f, z/ q+ C
  45.        (setq ang (/ pi 4)
    , D3 }7 p. c$ L7 y' V; c: v8 H
  46.       r1 (sqrt (* -2 (/ f (+ 2 c))))) d: ]  L$ j. F; J$ k* p
  47.       r2 (sqrt (* -2 (/ f (- 2 c))))
    4 v: _. b* _- \/ }6 N. R
  48.        )
    % g3 y- {: v- E2 V
  49.      )
    ) V5 }* Z& {! H% Z3 d
  50.      (progn
    9 Z; S- O* f- P) i) f) Z
  51.        (setq ang (/ (atan (/ c (- 1 b)))
    ( t' ^( p7 q# c+ j) i. N! }
  52.       2( ^- I- C* `7 h9 J8 n# Z! |& x8 M
  53.    )
    7 L4 D5 A. E. x. x: S- B
  54.        )$ M4 v, q  L3 L
  55.        (if (< ang 0.0)
    8 T" V7 \* @7 }. |6 `: h
  56.   (setq ang (+ ang (/ pi 2)))9 m8 P/ }- m1 s  `: j& _* w
  57.        )6 @' b# }# |6 O; `9 C1 Q
  58.        (setq a (/ (sin ang) (cos ang)))
    $ c- u: y" z4 Z; `0 P
  59.        (if (or (and (> b -1.0)# P2 N9 Q1 S5 O+ Z. ~" u& J3 }( _
  60.       (< f 0.0)4 y5 M" D1 y# t8 |
  61.       (> c (/ (- -1.0 (* b (* a a))) a))
    7 l7 v$ q& N' A( p" _
  62.       (< c (/ (+ b (* a a)) a))" M4 o, R9 u+ Q9 C7 K  ?* h
  63.         )
      Z6 x- s( n! M+ h# D
  64.         (and (< b -1.0)
    & J% v" N: ]: u5 q
  65.       (> f 0.0)/ r! w, U8 U) ~8 q  j* F
  66.       (> c (/ (+ b (* a a)) a))
    - P) C  ^7 q9 a0 z, ]6 X) V! n: k" W
  67.       (< c (/ (- -1.0 (* b (* a a))) a))
    7 R" `9 T9 t. D; |; P' K
  68.         )  K* ?5 S5 p% F! G
  69.     )' _# X1 Z" R3 V2 R# W$ }! s0 v
  70.   (setq r2 (* -1 f (1+ (* a a)))
    8 T9 r3 h% z4 h+ b
  71.         r1 (sqrt (/ r2 (+ 1 (* b a a) (* c a))))' {% R% Q4 I- V7 B% Y
  72.         r2 (sqrt (/ r2 (- (+ b (* a a)) (* c a))))
    1 W  Z( I7 R" ?; B$ U9 J# t% ?
  73.   )
    5 R1 O7 C* N, f% a4 @  Z
  74.        )
    ; |& U0 P+ [& \
  75.      )" ~& n7 N1 J( ~4 R
  76.    )
    7 e& {; r1 j0 l- [8 c* e& ~
  77. )
    6 K& ]7 i  d  d& i
  78.       )
      d1 R- c$ J: H" \) o
  79.     )& T. b' j4 H/ Y# p- f" T
  80.   )4 G/ x3 S; b4 [% G* z$ M
  81.   (if r1' C) E" _* X* {5 X) F4 Q4 F
  82.     (progn
    6 \: ^8 F* W  w7 D4 v$ N5 F
  83.       (setq old (getvar "OSMODE"))1 e2 l$ ?( g9 ~3 ?  p9 \6 ]6 x' w
  84.       (setvar "OSMODE" 0)0 H9 U( ]+ s) S9 h8 f
  85.       (command "ellipse"3 I7 p" O, w7 ?1 O, O. x
  86.         "c"
    & L, N5 ?% |* C' H. ^- x
  87.         p1' O  o; N: Z2 H4 _& U& L1 a6 ?
  88.         (polar p1 ang r1)
    - q% o/ z( |: x% E
  89.         r2$ y4 u/ T/ q8 U/ |
  90.       )
    / d- F7 ?# ]; j9 m0 ~" J
  91.       (setvar "OSMODE" old)
    9 \& a8 S, U# }3 P( b9 C5 P
  92.     )3 X1 _( }+ L$ {- F* G6 B, R
  93.   )! _" f/ |" T: u- z# ?
  94.   (princ)
    % K' ?  W- |" P3 S, n
  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. @- l5 D5 k- Q! k# q
已知椭圆的中心点,将3点代入椭圆的一般方程,用解析几何的方法计算即可。
9 Y2 M; L2 K" w9 z3 W! _& |. l
可以不解方程,有纯几何方法解的(指能作出椭圆的长短轴的方向与长度)。
 楼主| 发表于 2015-1-19 20:45:01 | 显示全部楼层 来自: 中国北京
本帖最后由 gongwen0519 于 2015-1-19 20:55 编辑
4 K9 A! D5 Y  T
woaishuijia 发表于 2015-1-19 19:43 static/image/common/back.gif6 R* i* p% G% M' A
再来个LISP

! Y7 Z9 G8 o; Y$ N5 G8 [8 y/ r( H
woaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码,手工复制或清理太费时间),谢谢。。
$ B6 M( U) N) e! E; ?7 u2 ~; R. y. ?
看来大家和曾经的楼主一样,看到圆锥二次曲线就生威蹙眉。
; Y! `8 G- g# z  B" u- {) N: F" e! T  v1 g6 u
如果用尺寸约束与驱动,把椭圆约束到这些参数上也是可以的呀。
6 `& p+ [2 V5 Q3 q6 J! v9 a* \% H: r' ^, V* p$ X; Q9 a
谢谢woaishuijia版主的VBA与lsp,今后工作中我就用您的程序了。
' s* ^( b5 h2 o7 D4 }5 O
4 [8 W" Q0 X. e0 I为增加活跃一下的气氛,我还是稍后整理公布一下过程不是“很”复杂的几何作法吧。
发表于 2015-1-19 22:02:32 | 显示全部楼层 来自: 中国辽宁大连
能给出长轴和短轴的公式吗?和水平角度的计算
发表于 2015-1-19 23:10:51 | 显示全部楼层 来自: 中国辽宁营口
本帖最后由 woaishuijia 于 2015-1-19 23:25 编辑
0 i; |! }1 {; q3 f4 Y; s$ I
gongwen0519 发表于 2015-1-19 20:45 http://www.3dportal.cn/discuz/static/image/common/back.gif
; k% |+ `1 A0 b& H! Nwoaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码, ...
: u! J2 f+ Y5 \! A

0 i8 N8 d/ m' a# [ C3PE.rar (4.96 KB, 下载次数: 25)
 楼主| 发表于 2015-1-20 00:04:33 | 显示全部楼层 来自: 中国北京
lisc2000 发表于 2015-1-19 22:02 static/image/common/back.gif- z$ ?. |# _" k5 O: l+ @' _
能给出长轴和短轴的公式吗?和水平角度的计算
/ l5 Z4 B+ q& y/ X* e9 K. ]6 ?
已经整理好一种几何解法:6 m% }$ X  L  @+ ~
# U0 O3 r% d& f2 R0 V6 K& J7 b
前面的说明:7 K0 l9 s& n: d

( `, b% E, R5 [/ G d001.png ; ^; Q3 g6 U5 X4 e$ \8 o+ L: Y% h
+ ~' f. x1 Y- f! |3 G" |& u
作图过程:
3 N4 H$ F- g7 e2 [
0 k9 L$ @' @+ y, U# i' U1 O* e; R d002.png 6 W6 t2 a9 @8 |- z

, U9 h$ y" z7 u! x1 A d003.png 4 H3 X( P& d7 c* W3 e# c
下图是OP的作法:
- b8 H7 b/ z6 U4 b& l d004.png 8 E5 y- E9 l; R) M, p
最后完成椭圆的长短半轴:  V3 k2 N& j6 ]: R5 L6 T2 k& {' q0 Q

% B$ R2 w- k; H d005.png
5 J0 E. M$ P3 S+ n; w4 B- X3 r1 T: J7 G& z) G. Q

3 Q- r, I- J1 `: j% w; P9 [$ Y, E( o0 B

评分

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

查看全部评分

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

. f2 m- q) C6 z1 Y, A; h# a谢谢,收藏了。
发表于 2015-1-20 13:46:59 | 显示全部楼层 来自: 中国天津
学习了。     
发表于 2018-3-15 10:26:44 | 显示全部楼层 来自: 中国浙江宁波
woaishuijia 发表于 2015-1-19 19:43
1 @1 Z6 _, F' U再来个LISP
" n( t& d. ^. ?3 a) U. c* M2 y
这是什么?代码?用于CAD?

点评

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

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

点评

做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。  详情 回复 发表于 2018-3-16 05:11
发表于 2018-3-16 05:11:36 | 显示全部楼层 来自: 中国北京
JCKFC1997 发表于 2018-3-15 20:02
5 p! f2 J3 z3 L. E2 ~) [TOPSOLID
5 r" n$ f" @( u4 L2 E5 M用中心点加圆上两点即可

  ^! G# D( o4 A! y. O1 S5 R做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。
发表于 2018-3-22 17:16:50 | 显示全部楼层 来自: 中国浙江宁波
可以吼出来啊
+ }  w2 G! V% G2 o' J/ p5 @

可以

可以

点评

已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。 下图是根据相同的条件随便画的几个,自己看。  详情 回复 发表于 2018-3-27 00:41
发表于 2018-3-27 00:41:25 | 显示全部楼层 来自: 中国北京
本帖最后由 woaishuijia 于 2018-3-27 00:42 编辑
; d: ?* X8 Q: [& R9 V. `
JCKFC1997 发表于 2018-3-22 17:16
+ k$ G; c6 |# c7 `$ b可以吼出来啊

. O( G! w8 L  X' y+ r6 h6 K已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。: \! q0 r' `/ H0 [7 D
下图是根据相同的条件随便画的几个,自己看。* m3 A5 H" {% W0 |

% x5 [" q8 v! k4 D8 C$ I
捕获.PNG
发表于 2018-11-11 09:32:10 | 显示全部楼层 来自: 中国广东佛山
下载个程序用用。
发表于 2018-12-3 09:59:14 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2015-1-19 12:32
; ^5 ?+ Y4 o9 H3 B# \怎么没人回呢?
) h! s2 N/ T8 c  y2 w& k) J
请教一下版主,现在CAD编程方面,学习LISP和VBA各有什么优缺点?初学想学习编程,想询问一下版主学习哪个更合适一些?

点评

简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面向对象的编程工具,通过图形界面和代码操纵CAD的内核。它的编程界面很友好,特别是程序中需要使用用户窗口或对  详情 回复 发表于 2018-12-5 23:23
发表于 2018-12-5 23:23:13 | 显示全部楼层 来自: 中国北京
kuangben8 发表于 2018-12-3 09:592 G' `' K0 p; }* G$ x
请教一下版主,现在CAD编程方面,学习LISP和VBA各有什么优缺点?初学想学习编程,想询问一下版主学习哪个 ...
) c  E8 X- Q1 h/ 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) ^8 c' V4 K3 ~+ a! I5 O8 W
简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面 ...
1 D# \: k! ?  N2 i+ p
好的,感谢版主大大。。。我初学了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:044 |" V0 l* ^3 ~
好的,感谢版主大大。。。我初学了EXCEL的编程,感觉还可以,所以就想结合CAD编程,尝试在借助excel中的 ...
1 p! B9 m! G' K& Z. ]7 f8 h
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编程简直易如反掌。而且VBA的一大优势就是在支持VBA的软件之间交换数据,所以你说的“借助excel中的数据,自动完成在CAD中的绘图”就是自然而然的事。
发表于 2018-12-8 21:17:27 | 显示全部楼层 来自: 中国
woaishuijia 发表于 2018-12-8 20:33
. A+ [& H* y  a* @EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...

, I3 ?! ~9 K5 k- p9 I" x5 e好的,感谢版主大大!给了我很大的信心!
发表于 2019-1-29 12:43:15 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2018-12-8 20:334 s  O- n$ G# W+ j
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...
" G, H1 E9 c3 [  Y) D. E
老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻烦多了!没有录制宏,我该怎么学习CAD的VBA呢?

点评

把邮箱给我  详情 回复 发表于 2019-1-30 22:13
发表于 2019-1-30 22:13:09 | 显示全部楼层 来自: 中国北京
kuangben8 发表于 2019-1-29 12:43
4 g6 k# ^; ^0 U$ R  F老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻 ...
9 L% M' ]- L, o% V6 a" I
把邮箱给我
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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