QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
5天前
查看: 7481|回复: 32
收起左侧

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

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

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

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

x
本帖最后由 gongwen0519 于 2015-1-14 00:21 编辑
/ w. J( q/ D6 q
2 W1 x; J4 _" \+ d& x, H" N% I/ \6 g$ z本题是继这个http://www.3dportal.cn/discuz/fo ... ead&tid=1449246【作出最长值(不限软件)】帖子而来,该帖椭圆中心可知,同时也可以随便得到椭圆上的三点。
2 F" n6 ?& |# n" f' k" Q5 s% s# ^3 a: a# y- t
几何作图作出OX、OY的方向与长度即可,ACAD则画出整个椭圆:
9 q, V! v' y6 E, J( u5 k; D/ {% I2 [. E+ `
(这类问题在工程实际中很实用。)7 N! M$ r  x6 \5 j! X* m
& b) @; q( }7 q0 O8 T
tuoyuan.png
' v& M; a+ Y4 Y6 h3 w) p

评分

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

查看全部评分

发表于 2015-1-19 12:32:28 | 显示全部楼层 来自: 中国辽宁抚顺
怎么没人回呢?
  1. Sub C3PE()8 z- p% h" o2 G7 n" W/ p
  2. Dim P0(2) As Double, P1 As Variant, P2 As Variant, P3 As Variant, P4 As Variant
    + T5 Z" }2 I4 V
  3. Dim X1 As Double, Y1 As Double, X2 As Double, Y2 As Double, X3 As Double, Y3 As Double
    1 o6 z2 F0 y8 N% P# _2 f. _) ^
  4. Dim A As Double, B As Double, C As Double, F As Double, Ang As Double, R1 As Double, R2 As Double$ S  o2 Z* R3 B& i/ u% h! K: V
  5. On Error GoTo 108 U. `5 x2 }4 j2 g! Q
  6. With ThisDrawing
    9 L! i8 `( p% e( y
  7. P1 = .Utility.GetPoint(, "指定中心点")
    ! A* |5 R, ~. X7 `/ A( K0 Y$ q  ^
  8. P2 = .Utility.GetPoint(, "指定第一点")# S6 i4 j- g5 @7 Y
  9. P3 = .Utility.GetPoint(, "指定第二点")
    + S" K$ b; ~! }6 M
  10. P4 = .Utility.GetPoint(, "指定第三点")! V4 h, f- w) U$ C
  11. X1 = P2(0) - P1(0)
    7 D% i! B4 i. S3 Z5 T9 M
  12. Y1 = P2(1) - P1(1)6 x) Y' i9 [, p% A
  13. X2 = P3(0) - P1(0)) ?: n9 o3 N$ u) }5 f) X' N: b9 B
  14. Y2 = P3(1) - P1(1)
    . w2 |+ e% k2 m! v3 e% I
  15. X3 = P4(0) - P1(0)7 Z# }- N8 H4 p7 x6 b
  16. Y3 = P4(1) - P1(1)0 j$ A. v& E2 u1 `, h
  17. A = (X1 * Y1 - X2 * Y2) * (Y1 ^ 2 - Y3 ^ 2) - (X1 * Y1 - X3 * Y3) * (Y1 ^ 2 - Y2 ^ 2)
    & h4 Z: b3 s* S: M6 ]* q0 w) [
  18. If A <> 0 Then
    9 S3 w. n) q( O; N: ^
  19. B = ((X1 ^ 2 - X2 ^ 2) * (X1 * Y1 - X3 * Y3) - (X1 ^ 2 - X3 ^ 2) * (X1 * Y1 - X2 * Y2)) / A/ G- `) J/ S# U- \& Z! }( M
  20. C = ((X1 ^ 2 - X3 ^ 2) * (Y1 ^ 2 - Y2 ^ 2) - (X1 ^ 2 - X2 ^ 2) * (Y1 ^ 2 - Y3 ^ 2)) / A# z8 Y" z' V! Y4 q
  21. F = -X1 ^ 2 - B * Y1 ^ 2 - C * X1 * Y1
    1 E% C  x$ ]& S' E2 s% q  b6 Q
  22. If C = 0 Then
    6 S9 @- K! k! ?% F5 F2 w9 ~
  23. If B > 0 And F < 0 Then, y! y6 ^1 E7 u# `/ ]8 i
  24. Ang = 0
    2 o6 m+ ^; m: m
  25. R1 = Sqr(-F): w" n7 J# d: \4 s0 Y+ a
  26. R2 = Sqr(-F / B)0 S3 Y, h" _1 k
  27. Else
    * Y! [$ j4 S5 P
  28. Exit Sub* J9 T3 ?2 M2 n" M0 Y- l
  29. End If
    ; k+ i5 d/ E0 z# I  f) ~4 v
  30. Else) e4 g) z0 E# S- y4 Y7 S5 l
  31. If B = 1 Then, l! M! b, o5 \0 q8 Z. x
  32. If F < 0 And C > -2 And C < 2 Then
    $ Z7 I9 ?/ I  E, T! i" L  p" J. C4 g
  33. Ang = .Utility.AngleToReal(45, acDegrees)
    1 U7 S# ?" B7 D8 q0 A7 b
  34. R1 = Sqr(-2 * F / (2 + C))
    8 j0 {3 v7 M# ~6 B! G) S
  35. R2 = Sqr(-2 * F / (2 - C))* B. V& e% G. ?  q  Q* c  k. o9 f
  36. Else
    : H- y/ g* M6 V' [
  37. Exit Sub! M3 G/ G% {. }" j8 \. n" [; c) C
  38. End If
    ' J* Q* v$ U- p; C0 M- O
  39. Else. L- V, _/ V% w* o: I4 z
  40. Ang = Atn(C / (1 - B)) / 22 e, I* b& j2 t( t
  41. If Ang < 0 Then Ang = Ang + .Utility.AngleToReal(90, acDegrees)9 O2 B! k# c  A* Z+ q1 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 _) E7 ]9 B/ I8 f( l( }$ ]
  43. B < -1 And F > 0 And C > (B + Tan(Ang) ^ 2) / Tan(Ang) And C < -(1 + B * Tan(Ang) ^ 2) / Tan(Ang) Then+ |" C2 Y0 J2 Q2 u0 {
  44. R2 = -F * (1 + Tan(Ang) ^ 2)
      i' p4 z, A/ w3 A8 E' Z' a
  45. R1 = Sqr(R2 / (1 + B * Tan(Ang) ^ 2 + C * Tan(Ang)))9 k& P+ D% t+ H+ o" h$ q/ t
  46. R2 = Sqr(R2 / (B + Tan(Ang) ^ 2 - C * Tan(Ang)))+ x& z  t  B) f3 U" q2 J- K
  47. Else
    - A# x  p8 q0 q- n
  48. Exit Sub
    ) y' V/ W0 A4 y9 O3 ^
  49. End If
    $ z1 h. D; H  T) n# F
  50. End If
    2 @3 k* c1 T9 P& y6 c
  51. End If/ }0 |' R) z" d0 V, m! D
  52. Else# Y" Z2 k' M. Q
  53. Exit Sub
    ( z" C* ]4 T- R$ C, _
  54. End If9 d' B+ p# }5 ^# i" ]
  55. If R2 < R1 Then
    + v' c( [  f1 E5 O
  56. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang, R1), R2 / R13 \- |! f8 W* z2 V
  57. Else
    8 h( w4 [% F& A( q
  58. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang + .Utility.AngleToReal(90, acDegrees), R2), R1 / R2! s5 n/ w7 I. N) c3 S% U0 f6 y' _" A
  59. End If
    8 h& p, \0 H7 l  P
  60. End With
    * m& W$ U1 P% ~0 K% l) d& ]
  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 编辑 / t2 Z/ d) [7 l7 v

2 p' ]0 E' T& l# B4 z( z9 V. P再来个LISP
  1. (defun c:c3pe) x. _( B# l% {9 ?* f9 Z' v/ R
  2.        (/ old p0 p1 p2 p3 p4 x1 y1 x2 y2 x3 y3 a b c f ang r1 r2)
    3 n2 X4 g7 @4 ?$ G8 U, }9 P+ ?1 w
  3.   (setvar "CMDECHO" 0)
    5 r" s; A' S3 t. L; U7 U3 W% W
  4.   (setq p0 (list 0 0 0)
    5 {7 n1 \- J: |
  5. p1 (getpoint "\n 指定中心点:")* F" t4 ~. m1 ?) R2 w
  6. p2 (getpoint "\n 指定第一点:")# S; A! s& d9 [# i1 p5 S5 Z( K
  7. p3 (getpoint "\n 指定第二点:")
    1 g" i4 {8 z, ]
  8. p4 (getpoint "\n 指定第三点:")
      n( Y4 L1 T- }& z5 _
  9. a  (car p1)6 @% j7 [5 a. i
  10. b  (cadr p1)! B  G* J7 I& @! v/ E0 E4 U
  11. x1 (- (car p2) a)
      q( ?) D2 |+ ?* s7 h" G/ J
  12. y1 (- (cadr p2) b)% X5 r# ]1 h9 l; ~( O1 c7 u2 I
  13. x2 (- (car p3) a); F, M" O- ^3 u+ f# }) [' H$ o
  14. y2 (- (cadr p3) b)4 u1 P0 D. `; K% j! {0 Y% h
  15. x3 (- (car p4) a)) v+ d2 [; B$ J
  16. y3 (- (cadr p4) b)- p5 a' h9 p/ l2 @
  17. a  (- (* (- (* x1 y1) (* x2 y2)) (- (* y1 y1) (* y3 y3)))
    + d( Y* n* m6 T) P0 K
  18.        (* (- (* x1 y1) (* x3 y3)) (- (* y1 y1) (* y2 y2)))  {, d% L1 k+ J0 y
  19.     )
    " f* q& _8 o+ ?4 V* V* T4 ]  m
  20.   )0 L- N- ?) }2 v& E) c% W9 a
  21.   (if (/= a 0.0)$ ]% ~2 C$ n. V5 d
  22.     (progn
    6 J, B/ U) E! H4 q" a# [" i- S
  23.       (setq b (/ (- (* (- (* x1 x1) (* x2 x2)) (- (* x1 y1) (* x3 y3)))
    + ], x( l  A, C" Z: [) b& Z! U
  24.       (* (- (* x1 x1) (* x3 x3)) (- (* x1 y1) (* x2 y2)))2 P5 o) V- F5 v- D( v3 C4 U
  25.    )
    * ]& O) F+ N2 a" e
  26.    a
    / [' [3 a7 _7 j' \; v0 d2 Y
  27.        )
    ' B) z; D0 R2 _7 X+ p0 E* Z/ `( |  C
  28.      c (/ (- (* (- (* x1 x1) (* x3 x3)) (- (* y1 y1) (* y2 y2)))
    : s# w1 w- u, K6 `, Q( X
  29.       (* (- (* x1 x1) (* x2 x2)) (- (* y1 y1) (* y3 y3)))
    ) \( ?# H( ~: ]! N5 t: x4 G" n2 S7 `
  30.    )
    7 }1 d: o+ M8 a, b8 C% c2 O( g5 o
  31.    a
    , B) x1 [  ?5 d. M3 A2 u/ r9 y1 _# `
  32.        )7 Y8 k' J& C- g: C) H1 l
  33.      f (- 0 (* x1 x1) (* b y1 y1) (* c x1 y1))
    ; a: a, w2 X' D3 S3 D& ]( Z: r; B
  34.       )
    & C: j& ^) e; n; ?; B# \4 N
  35.       (if (zerop c)
    ) C( e1 b7 X' w# X. o2 ^
  36. (if (and (> b 0.0) (< f 0.0))& r7 H! s; z" L, F
  37.    (setq ang 0.0
    . N1 m9 T/ s/ D6 |" R7 \- X
  38.   r1  (sqrt (- 0 f))& m' i# ]1 H4 p  b7 q
  39.   r2  (sqrt (- 0 (/ f b)))
    # n7 a7 q+ l0 X2 O
  40.    )6 r' t" L0 o2 u1 C1 l, {8 o) c
  41. )
    7 Q* ^3 O; g9 k  K) W* G5 r
  42. (progn% b+ v3 A. N4 y
  43.    (if (= b 1.0)
    ( i6 Y! ?# n* W
  44.      (if (and (< f 0.0) (> c -2.0) (< c 2.0))+ I, Y; k# Z4 _, E' q. r1 Q. D
  45.        (setq ang (/ pi 4)& E' D8 v& f" X
  46.       r1 (sqrt (* -2 (/ f (+ 2 c)))). \, a% P" \0 g/ ?
  47.       r2 (sqrt (* -2 (/ f (- 2 c))))/ z& Z9 `9 S. b6 A4 ^9 Q5 T
  48.        )
    + n/ g9 b! ]. _
  49.      )
    # I  N, z9 M' Y. W" d( p5 p: j
  50.      (progn
    6 T( s; C5 z0 M  J
  51.        (setq ang (/ (atan (/ c (- 1 b)))! [7 h- e5 P7 U/ T
  52.       21 `5 R7 ~2 U+ M& c& X, a6 R
  53.    )
    ; P/ ~7 O1 _  a, _& z% @2 U
  54.        )
    9 B6 h6 X0 {/ ]+ s: P
  55.        (if (< ang 0.0)
    ) o4 Z5 Y7 x5 p: `6 ~
  56.   (setq ang (+ ang (/ pi 2)))
    0 j0 i( b  X# a: \# @
  57.        )
    8 L* ?, n% l- f
  58.        (setq a (/ (sin ang) (cos ang)))
    0 q2 `7 Q% r) |3 E. w' ?
  59.        (if (or (and (> b -1.0)
    2 d" T/ n- L! e3 h4 q( r
  60.       (< f 0.0)5 q4 P3 t+ A! {. G. h
  61.       (> c (/ (- -1.0 (* b (* a a))) a)). d4 y4 k  T9 {% K7 R$ {; |2 H
  62.       (< c (/ (+ b (* a a)) a))& h: P& Y6 y% t" t- f$ ?- W$ o: F4 z
  63.         )
    - S* d* d% s( f8 J6 x
  64.         (and (< b -1.0)- b7 U2 q, @% g4 C. }$ b
  65.       (> f 0.0)
    ' ?& `9 @6 L, c
  66.       (> c (/ (+ b (* a a)) a))
    1 ]$ g5 l6 A# Z. @1 |! z' M' ?
  67.       (< c (/ (- -1.0 (* b (* a a))) a))
    " K) U3 D* M' q
  68.         )+ L! d0 w: L* R$ n3 q
  69.     )0 ~! m, a+ y& Q$ U+ O# m- N3 J$ k% ^
  70.   (setq r2 (* -1 f (1+ (* a a)))
    : l: r; r$ G+ g: L9 {
  71.         r1 (sqrt (/ r2 (+ 1 (* b a a) (* c a))))( M: i+ |$ n2 E$ V: ]
  72.         r2 (sqrt (/ r2 (- (+ b (* a a)) (* c a))))- k" W, s+ p9 f! _8 t: N
  73.   )( ^# d4 E7 e2 d% V& g" n5 _
  74.        )8 M2 j5 ^( b0 l% y
  75.      )
    2 C. j( e; z- v" ]& z9 t" H; F
  76.    )
    ( a% i8 f8 t; c( ~$ K& {
  77. )
    & T1 \! R; [) P( B! ^7 Q
  78.       )+ O, D# ~" ]9 [2 b
  79.     )
    & y# H' d* S0 C: N
  80.   )! a- f- ]8 p4 d7 u) A# G
  81.   (if r1, ~6 `2 v' k, c0 Q! Y9 B+ o
  82.     (progn
    9 Q# }6 T6 X6 \; X+ u* d
  83.       (setq old (getvar "OSMODE"))
    6 k5 x6 _" C( b9 N% m! b7 O: a
  84.       (setvar "OSMODE" 0): ^! u$ n+ {1 O5 E! E3 c' \
  85.       (command "ellipse"9 n: }' D4 d: J+ d* F1 y
  86.         "c"
    ; ?, s% E7 B8 n
  87.         p1
    6 ~! _  p# ?' i- C" l' V* i5 h( g
  88.         (polar p1 ang r1)7 z- v) P- V/ \; C1 c0 a* t* O8 j
  89.         r2
    8 f0 x0 T4 D6 x7 h. `
  90.       )# s$ k+ s0 |5 g
  91.       (setvar "OSMODE" old)
    : R+ }$ Y) [% ]5 O* r- F5 W
  92.     )
    # L5 k! R3 |4 C# y
  93.   ); p* Y& ?# }2 m( P6 ~
  94.   (princ)8 f- J, p% i8 r. s( A" l
  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.gif6 o: T: r4 r& ]$ \- B
已知椭圆的中心点,将3点代入椭圆的一般方程,用解析几何的方法计算即可。

& f# M. U4 N2 e  N1 M可以不解方程,有纯几何方法解的(指能作出椭圆的长短轴的方向与长度)。
 楼主| 发表于 2015-1-19 20:45:01 | 显示全部楼层 来自: 中国北京
本帖最后由 gongwen0519 于 2015-1-19 20:55 编辑
9 G2 k# M% `& E# m  R7 w
woaishuijia 发表于 2015-1-19 19:43 static/image/common/back.gif+ b* S* q# i( `9 D5 @. k
再来个LISP
; e+ G- T& B% `  E2 W
: R5 N( ^0 }2 t0 k/ J  b9 M0 }
woaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码,手工复制或清理太费时间),谢谢。。
1 E/ ], [7 P# q1 z( V
' i0 M& ]5 O7 r' _0 w4 {/ R9 w( v! q6 u看来大家和曾经的楼主一样,看到圆锥二次曲线就生威蹙眉。
' j8 T  W6 D0 X$ F$ i0 g9 q: m3 g0 s9 O, C, M+ |4 N
如果用尺寸约束与驱动,把椭圆约束到这些参数上也是可以的呀。
  F  [$ F" d- s% {+ {9 B
9 B  z) D* \, D8 u2 B谢谢woaishuijia版主的VBA与lsp,今后工作中我就用您的程序了。/ _& x' b6 ~" ^! ?! K' n+ C5 S
3 D7 G( {) M3 P* G5 V6 b- f! E
为增加活跃一下的气氛,我还是稍后整理公布一下过程不是“很”复杂的几何作法吧。
发表于 2015-1-19 22:02:32 | 显示全部楼层 来自: 中国辽宁大连
能给出长轴和短轴的公式吗?和水平角度的计算
发表于 2015-1-19 23:10:51 | 显示全部楼层 来自: 中国辽宁营口
本帖最后由 woaishuijia 于 2015-1-19 23:25 编辑 8 {% q* L8 s# l5 }' Y& g, h5 {( u: F
gongwen0519 发表于 2015-1-19 20:45 http://www.3dportal.cn/discuz/static/image/common/back.gif
2 A( c) j0 m4 \woaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码, ...
3 j! O+ X; N3 n% _: Q# V8 |
& g* D( C! I" P  }; I
C3PE.rar (4.96 KB, 下载次数: 25)
 楼主| 发表于 2015-1-20 00:04:33 | 显示全部楼层 来自: 中国北京
lisc2000 发表于 2015-1-19 22:02 static/image/common/back.gif0 O1 e, d# m/ `  a5 q6 l9 J, N
能给出长轴和短轴的公式吗?和水平角度的计算
; [) F: }  ?, ?; E# C3 I5 \
已经整理好一种几何解法:) m7 \/ i7 b9 D& _  d

3 J) N8 ^4 G, H* _' O$ t前面的说明:
$ y. z* |, z0 A- S8 J7 N
- j5 c& q. R& \; p$ q& V3 x d001.png
/ R; `* }+ t( J9 S% d- D0 G5 Y
" |: @( L/ \- W作图过程:
. S6 y5 U5 B% T0 ]! Y
# i3 f" J2 f4 \- O" l. Q2 g% z d002.png , Z! _0 x2 N* F8 d! Z

% d9 m# T5 N/ K6 Y3 a  a d003.png
  j, W9 O8 f+ U8 q! V7 F下图是OP的作法:$ Z. h) t- k. a) H/ i
d004.png
! a$ A! |. S1 i最后完成椭圆的长短半轴:5 J' L7 q6 }! a

& b2 E2 ^$ a) T1 z/ u9 D d005.png - h) i& m- L8 Q
! F. ]% N# y3 v! A1 W- X

% _" s+ X7 c2 K; J7 S0 E

评分

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

查看全部评分

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

2 {8 O' F- V) y5 X9 \谢谢,收藏了。
发表于 2015-1-20 13:46:59 | 显示全部楼层 来自: 中国天津
学习了。     
发表于 2018-3-15 10:26:44 | 显示全部楼层 来自: 中国浙江宁波
woaishuijia 发表于 2015-1-19 19:43
5 O; X% x9 d. Z/ k0 }再来个LISP

# W# y$ `/ w: |. o& k这是什么?代码?用于CAD?

点评

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

点评

做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。  详情 回复 发表于 2018-3-16 05:11
发表于 2018-3-16 05:11:36 | 显示全部楼层 来自: 中国北京
JCKFC1997 发表于 2018-3-15 20:02
& p' E+ G. D2 JTOPSOLID   T% d8 n% g# E. Z* f0 P, f
用中心点加圆上两点即可
6 {* e% P6 A1 x* e  ]5 z( L
做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。
发表于 2018-3-22 17:16:50 | 显示全部楼层 来自: 中国浙江宁波
可以吼出来啊. S( S: E/ y2 o  n  F% I- U7 W

可以

可以

点评

已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。 下图是根据相同的条件随便画的几个,自己看。  详情 回复 发表于 2018-3-27 00:41
发表于 2018-3-27 00:41:25 | 显示全部楼层 来自: 中国北京
本帖最后由 woaishuijia 于 2018-3-27 00:42 编辑 5 @) h4 b3 Z! c; P+ c( x* E  @
JCKFC1997 发表于 2018-3-22 17:164 p% H& i. ^) J% T8 y" K  V5 W
可以吼出来啊

3 w7 m3 N" y1 {* o$ n6 J9 q已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。7 ]8 `& q8 Z% ]7 S. j9 }
下图是根据相同的条件随便画的几个,自己看。% s0 p0 k2 m: Y% ?! L/ v

, J, }7 k  \* q3 k  L: g
捕获.PNG
发表于 2018-11-11 09:32:10 | 显示全部楼层 来自: 中国广东佛山
下载个程序用用。
发表于 2018-12-3 09:59:14 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2015-1-19 12:32
- ^% a/ t9 f; l% G怎么没人回呢?
/ B" \- q; Y( J" 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
2 J0 T" E7 O+ T& X+ m请教一下版主,现在CAD编程方面,学习LISP和VBA各有什么优缺点?初学想学习编程,想询问一下版主学习哪个 ...

. t% e0 y7 @& e) O# i简单说,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 Q7 R- b9 p5 o# }" k简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面 ...

9 K2 y, k& E7 ^/ t6 V5 M好的,感谢版主大大。。。我初学了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
0 B6 w% L5 p+ X好的,感谢版主大大。。。我初学了EXCEL的编程,感觉还可以,所以就想结合CAD编程,尝试在借助excel中的 ...

/ Q; f- Y. g! a3 E! }3 fEXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编程简直易如反掌。而且VBA的一大优势就是在支持VBA的软件之间交换数据,所以你说的“借助excel中的数据,自动完成在CAD中的绘图”就是自然而然的事。
发表于 2018-12-8 21:17:27 | 显示全部楼层 来自: 中国
woaishuijia 发表于 2018-12-8 20:330 U# R; _6 l, Q6 F
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...

, O6 l# \4 k9 K3 j- \% ~% Q7 j好的,感谢版主大大!给了我很大的信心!
发表于 2019-1-29 12:43:15 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2018-12-8 20:33
2 L& |0 q( J' ?8 n1 NEXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...

7 N. w- U. S- q6 p8 l老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻烦多了!没有录制宏,我该怎么学习CAD的VBA呢?

点评

把邮箱给我  详情 回复 发表于 2019-1-30 22:13
发表于 2019-1-30 22:13:09 | 显示全部楼层 来自: 中国北京
kuangben8 发表于 2019-1-29 12:43$ ~6 ?. R% K& Y3 t  o" V( a
老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻 ...
2 ^8 g+ G6 R' i
把邮箱给我
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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