QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 gongwen0519 于 2015-1-14 00:21 编辑
# ~4 \6 X; ?( z8 d% P. e) b* f- M4 s9 F# \3 m
本题是继这个http://www.3dportal.cn/discuz/fo ... ead&tid=1449246【作出最长值(不限软件)】帖子而来,该帖椭圆中心可知,同时也可以随便得到椭圆上的三点。4 [6 C* V% M- [1 \  c

+ G! L7 t9 C- Z$ c; u几何作图作出OX、OY的方向与长度即可,ACAD则画出整个椭圆:" Z& \( [* K- v. R3 W) R& f

4 R( A5 I6 q* B4 N(这类问题在工程实际中很实用。)# J  F( b, i: f* S1 i2 F  G$ l+ u

3 u$ L* X: |9 S9 J- c tuoyuan.png   K* |& r' r9 i' h; N8 f

评分

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

查看全部评分

发表于 2015-1-19 12:32:28 | 显示全部楼层 来自: 中国辽宁抚顺
怎么没人回呢?
  1. Sub C3PE()# N- P" S! a: V# R5 @
  2. Dim P0(2) As Double, P1 As Variant, P2 As Variant, P3 As Variant, P4 As Variant
    # d/ j/ a3 S- D0 v! N
  3. Dim X1 As Double, Y1 As Double, X2 As Double, Y2 As Double, X3 As Double, Y3 As Double
    5 w: ?0 R. p, _$ @2 H. _6 a1 Y
  4. Dim A As Double, B As Double, C As Double, F As Double, Ang As Double, R1 As Double, R2 As Double( N: x5 C" y7 }5 J, q+ {  W
  5. On Error GoTo 10
    " `6 V) ~7 Z, Z
  6. With ThisDrawing
    9 e+ I; X/ W- s
  7. P1 = .Utility.GetPoint(, "指定中心点")5 Z. A( C) q+ C/ E; d' G2 R" |, }! i
  8. P2 = .Utility.GetPoint(, "指定第一点")  {4 q+ E% A# [& P9 u
  9. P3 = .Utility.GetPoint(, "指定第二点")
    4 E7 q1 Z' B1 a8 K& b
  10. P4 = .Utility.GetPoint(, "指定第三点")
    # b# ~' O1 y5 d; _$ Q# w3 h( Y( H
  11. X1 = P2(0) - P1(0)( Q  Y2 |  B6 Z% n' ^5 z
  12. Y1 = P2(1) - P1(1)
    ! ]6 {/ P# i. a- c) G: v* @
  13. X2 = P3(0) - P1(0)
    # S7 q& m# a4 q% {5 E# \/ ^1 u
  14. Y2 = P3(1) - P1(1)6 e( x& @/ |6 u4 b: H: x8 I- S
  15. X3 = P4(0) - P1(0)
    1 S% ]9 F$ u0 T& d( ]4 ?% m4 t$ x
  16. Y3 = P4(1) - P1(1)
    9 K4 y& v# r7 W; L9 N' _
  17. A = (X1 * Y1 - X2 * Y2) * (Y1 ^ 2 - Y3 ^ 2) - (X1 * Y1 - X3 * Y3) * (Y1 ^ 2 - Y2 ^ 2)+ G% x/ W6 U9 X  K5 j8 _/ ~
  18. If A <> 0 Then/ I' O" N+ |, C) J7 ^3 l
  19. B = ((X1 ^ 2 - X2 ^ 2) * (X1 * Y1 - X3 * Y3) - (X1 ^ 2 - X3 ^ 2) * (X1 * Y1 - X2 * Y2)) / A, p8 G. v1 B( ]; {5 }3 {6 J
  20. C = ((X1 ^ 2 - X3 ^ 2) * (Y1 ^ 2 - Y2 ^ 2) - (X1 ^ 2 - X2 ^ 2) * (Y1 ^ 2 - Y3 ^ 2)) / A
    7 n! b2 N8 B# [1 t3 ^. j. y
  21. F = -X1 ^ 2 - B * Y1 ^ 2 - C * X1 * Y13 \4 c! j' ^: n6 D
  22. If C = 0 Then
    2 N4 p! I3 s8 `  ~& ^2 `
  23. If B > 0 And F < 0 Then5 S1 P& i& M3 X: D% z$ p) G2 r
  24. Ang = 0) q5 P3 q- `! l8 S
  25. R1 = Sqr(-F)( ?$ F5 ~6 ]2 w
  26. R2 = Sqr(-F / B)5 e. B$ i$ R6 s# v5 U1 i7 Y
  27. Else1 Q/ V( g/ V6 W& \1 N" T' h( Q7 \' J" a/ D
  28. Exit Sub
    8 c, D0 Z" b; \$ l1 A+ _3 @2 T$ q
  29. End If
    3 D* n! ~% m4 J8 F6 W" v
  30. Else
    0 T9 k' V) v+ I( }! M! @
  31. If B = 1 Then
    - G# c$ `, |# ]4 A
  32. If F < 0 And C > -2 And C < 2 Then
    ! `7 `; R* k) X& W- g& C- B- [& ?$ k
  33. Ang = .Utility.AngleToReal(45, acDegrees)
    " O0 a' Y5 d6 Z
  34. R1 = Sqr(-2 * F / (2 + C))( t' K) T# v+ N
  35. R2 = Sqr(-2 * F / (2 - C))5 K9 Z9 Q5 D7 _( g7 c7 r9 \( M% v
  36. Else
    , w+ [8 ?+ V9 S. r- H$ Z) e
  37. Exit Sub' e1 h) \" I+ @; ^' o
  38. End If' R1 Z& p. J" _* G& ]9 o4 \
  39. Else! c" P, {. P5 ?9 A# G' _
  40. Ang = Atn(C / (1 - B)) / 2
    : P9 _# n0 n9 w8 f; Q# W$ P  F
  41. If Ang < 0 Then Ang = Ang + .Utility.AngleToReal(90, acDegrees)
      x0 V! B7 y) T7 d, p
  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 _' Y4 j( R# j* 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
    3 r+ ~0 Z+ r# r+ G! T1 C
  44. R2 = -F * (1 + Tan(Ang) ^ 2)4 [& r6 e5 u6 E/ M; r0 G
  45. R1 = Sqr(R2 / (1 + B * Tan(Ang) ^ 2 + C * Tan(Ang)))% M- ~( C" J) U+ E' Q
  46. R2 = Sqr(R2 / (B + Tan(Ang) ^ 2 - C * Tan(Ang)))
    6 G% [+ X0 n5 ~0 t5 N2 u: m) R
  47. Else3 }/ V$ C9 r2 x( [4 e
  48. Exit Sub
    $ `# q0 ~* ]+ q- \
  49. End If" }) t0 K% }4 B/ R
  50. End If( g4 E+ d0 M& L" o% e4 G
  51. End If7 V+ s) _  C" |: d: R. f1 l! N
  52. Else
    3 G+ E2 \; X6 t5 R
  53. Exit Sub- f& I# ?6 f6 d
  54. End If' C/ S6 X) m0 J  a0 v
  55. If R2 < R1 Then
    4 \3 y; U* D/ B2 [) P. R# s
  56. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang, R1), R2 / R1$ _5 I3 p  ?+ q1 w# u* _8 Y
  57. Else' U+ l: ^# Z. t" t  h7 s: P5 r7 M
  58. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang + .Utility.AngleToReal(90, acDegrees), R2), R1 / R29 N, b7 H, a2 `& T; R0 i+ ^
  59. End If
    0 L5 K1 G( `0 C" ]4 z' w
  60. End With) z. P1 `) {9 Z2 o& x4 g8 L
  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 编辑 * i1 b# |1 T2 o4 E" f' K
/ s5 V+ W$ @: J
再来个LISP
  1. (defun c:c3pe' V: k3 I: Z. F7 D' }
  2.        (/ old p0 p1 p2 p3 p4 x1 y1 x2 y2 x3 y3 a b c f ang r1 r2)
    % w/ A, Q: k3 W( z! R3 A
  3.   (setvar "CMDECHO" 0)0 O$ a- x8 g% v8 M8 o, L) H
  4.   (setq p0 (list 0 0 0)$ ]- t+ X4 l3 q( u1 [
  5. p1 (getpoint "\n 指定中心点:")
    % x6 ?  ?* j8 ~* r3 h+ {
  6. p2 (getpoint "\n 指定第一点:")' z2 m' t4 t$ e& N' V
  7. p3 (getpoint "\n 指定第二点:")6 ?2 T; a! a0 w( _0 u6 b0 ]
  8. p4 (getpoint "\n 指定第三点:"): d0 |/ Q8 L6 p. D, a
  9. a  (car p1)
    9 ^% a% P. v/ M9 ^" A/ w0 L- p
  10. b  (cadr p1)
    9 g* L& S( e6 W) x# V9 P* J5 N7 x
  11. x1 (- (car p2) a)
    . p9 x$ ?5 H- ?3 Z9 z0 z- g' A
  12. y1 (- (cadr p2) b)* S; x( v' J1 g2 d
  13. x2 (- (car p3) a)
    ; J. X/ e9 o  w% B, f
  14. y2 (- (cadr p3) b)6 }. \- [* [5 v
  15. x3 (- (car p4) a)
    / K! q) u+ c" C
  16. y3 (- (cadr p4) b)( d7 ^, _# }+ P' M8 p. H* G
  17. a  (- (* (- (* x1 y1) (* x2 y2)) (- (* y1 y1) (* y3 y3)))
    % j8 r) i1 r* H
  18.        (* (- (* x1 y1) (* x3 y3)) (- (* y1 y1) (* y2 y2)))
    : d8 u3 N" U6 v6 {: E9 u  u6 U& q
  19.     ), N7 `% O$ \* H4 e, R0 p! H
  20.   )7 c( e4 _  F8 A- \- t8 F
  21.   (if (/= a 0.0)2 P, z9 N9 R1 C: e+ a6 K1 c" w
  22.     (progn
    . M* i( Q# H9 R3 p9 o9 r, U* v
  23.       (setq b (/ (- (* (- (* x1 x1) (* x2 x2)) (- (* x1 y1) (* x3 y3))): }- Z1 A( C) i( l3 R1 i: ^
  24.       (* (- (* x1 x1) (* x3 x3)) (- (* x1 y1) (* x2 y2)))
    ( E' ], n: f" z' J/ G0 x
  25.    )
    , z$ K; M' l4 D7 `  w3 G
  26.    a
    7 W) m+ `7 Q( p$ ]- ~, x
  27.        )
    # \! B% }; h' I, o; N: N
  28.      c (/ (- (* (- (* x1 x1) (* x3 x3)) (- (* y1 y1) (* y2 y2)))
    $ k+ m) {$ g/ T# L
  29.       (* (- (* x1 x1) (* x2 x2)) (- (* y1 y1) (* y3 y3)))
    ) j' B5 v+ e2 ], ?
  30.    )+ {7 m, Q& ~+ U& Z0 W  G
  31.    a( `6 M) ~8 C4 j0 t9 D
  32.        ): @# {. G) T& |$ t; h2 G
  33.      f (- 0 (* x1 x1) (* b y1 y1) (* c x1 y1))
    0 ]: L: r* l- g' f5 w& y
  34.       )# V- @. [' o5 G. N2 x$ |+ D+ t1 O
  35.       (if (zerop c)- n/ s) O9 @! u6 {4 m# Z
  36. (if (and (> b 0.0) (< f 0.0))5 m+ k0 r8 E* X' S) x, e
  37.    (setq ang 0.0. v8 z& v; r7 \3 |4 [% [5 J0 {
  38.   r1  (sqrt (- 0 f))
    ! |7 \0 O; a$ }" v3 F7 p
  39.   r2  (sqrt (- 0 (/ f b)))) c% _4 m# z- j* p. Q2 E# b
  40.    )/ w# n$ _5 [& g
  41. )' D1 a/ p" o# T, p, O
  42. (progn
    6 s6 X/ C% z6 `- W, U
  43.    (if (= b 1.0)/ d8 @. j( y: U! B. l
  44.      (if (and (< f 0.0) (> c -2.0) (< c 2.0))8 t4 ~; z  n. Y
  45.        (setq ang (/ pi 4)" K/ [- X: @! f; z  s
  46.       r1 (sqrt (* -2 (/ f (+ 2 c))))( u2 c6 G6 m1 \" s! q* s2 G
  47.       r2 (sqrt (* -2 (/ f (- 2 c))))
    1 M$ j* i+ W' j- P/ g6 T
  48.        )
    ! z# |# g# I- T/ q
  49.      ). P2 A) Y  q6 O8 H8 X+ R1 v) p. e
  50.      (progn
    . n$ o: s% \# b1 k
  51.        (setq ang (/ (atan (/ c (- 1 b)))
    , _  j, Z5 q+ w7 K; v) B7 i
  52.       2& B5 `$ e/ q# v* [
  53.    )
    1 V7 Y9 b  D4 {4 j/ ?( N
  54.        )+ f6 L% q0 x; v, F% A
  55.        (if (< ang 0.0), J' U# B2 m" b( C7 \+ Q3 a  r5 f: T; |: ~4 ?
  56.   (setq ang (+ ang (/ pi 2)))- ?, W. a5 J( G6 U$ v. a
  57.        )
    ' y  `6 M" j) @6 o; k
  58.        (setq a (/ (sin ang) (cos ang))): O# J" u6 Y5 A! r  b% q
  59.        (if (or (and (> b -1.0)
    ! {9 X- x, s3 d* `
  60.       (< f 0.0)
    . c# Z8 E5 Y& a1 j+ p
  61.       (> c (/ (- -1.0 (* b (* a a))) a))% u8 j/ W' o$ \! E# _4 l2 E% ~
  62.       (< c (/ (+ b (* a a)) a))7 q& q, K. Z0 g1 d' ]% i  {4 c
  63.         ), A8 I0 B* U5 [' i% w# d, u7 c% |
  64.         (and (< b -1.0)
    % O) y* a7 K) ]% ~  i. g
  65.       (> f 0.0)% T7 j4 C* T- j4 U
  66.       (> c (/ (+ b (* a a)) a))
    8 I3 S  A. M% ^- I2 Z
  67.       (< c (/ (- -1.0 (* b (* a a))) a))
    - \0 W; {. y% L( a) u5 p
  68.         )
    5 [" _) u9 B. n, q% Y* U$ l
  69.     )
    . j7 w; p; Q! X7 e9 N1 G1 ]
  70.   (setq r2 (* -1 f (1+ (* a a)))
    % N- A3 o* h+ v2 h2 X
  71.         r1 (sqrt (/ r2 (+ 1 (* b a a) (* c a))))5 u4 Z; ?& I/ x
  72.         r2 (sqrt (/ r2 (- (+ b (* a a)) (* c a))))+ Q8 O0 {$ W2 q* p! z& ^  r
  73.   )
    ( o+ ~. p, x( ~( Q
  74.        )
    7 `* _: H0 `, p
  75.      )
    3 V9 t; L& p% U5 C/ X5 ~
  76.    )3 f! \3 B: y3 M  q. M: |7 C
  77. )
    & d0 D( j& ^6 [6 l; j
  78.       )
      G1 i+ O- f5 V# }
  79.     )
    $ W; c6 O, r+ z, P3 I; u1 ]/ x* A; M
  80.   )* m- M0 ~- J+ a9 s" Q+ h8 p
  81.   (if r1, w( P- {; V6 a: V
  82.     (progn! Z% o8 f! q4 q0 ]# O
  83.       (setq old (getvar "OSMODE"))& \$ {* t, B7 ^6 B3 k" T
  84.       (setvar "OSMODE" 0)) J4 r4 g$ u( W' a5 @+ H
  85.       (command "ellipse"; S, [6 t# w1 U; y2 ?! ~
  86.         "c"
    + e3 E) [! _% U( K% _; V
  87.         p13 k& ~& Q- y$ ~  u9 Y5 s! @+ h! |' s
  88.         (polar p1 ang r1)  U& @. {) T* k. V$ A! m, T
  89.         r25 y1 Q9 f/ t" K. E7 k
  90.       )1 [; H9 y+ ?5 O/ S; o, K" S: n
  91.       (setvar "OSMODE" old)
    " ~$ t7 Y9 a2 H# ~! A, d
  92.     )0 [5 e- @  W( ^; _% k7 {. i
  93.   )1 R& Z  d" g- R% s1 S& F- G
  94.   (princ)2 R  D4 E& x7 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
: O/ N$ w$ z$ T/ `已知椭圆的中心点,将3点代入椭圆的一般方程,用解析几何的方法计算即可。
2 J5 e3 D* b& \
可以不解方程,有纯几何方法解的(指能作出椭圆的长短轴的方向与长度)。
 楼主| 发表于 2015-1-19 20:45:01 | 显示全部楼层 来自: 中国北京
本帖最后由 gongwen0519 于 2015-1-19 20:55 编辑
2 C# y/ e' W, o/ I4 N) U" Y* K
woaishuijia 发表于 2015-1-19 19:43 static/image/common/back.gif$ f% n, z9 {5 \9 o" u! `
再来个LISP

! l, A# O2 i6 `- O
" M8 z2 }' x9 a8 x  y9 kwoaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码,手工复制或清理太费时间),谢谢。。4 Q% w+ R' E: a# t0 ~
1 h! }- _' _- X, r# C7 w9 V
看来大家和曾经的楼主一样,看到圆锥二次曲线就生威蹙眉。( b9 p$ g$ w- M- q" k' |* D

$ ?# z( @  F9 |9 a如果用尺寸约束与驱动,把椭圆约束到这些参数上也是可以的呀。
2 V5 H* W( C0 C$ u/ J3 Z
. q! V4 Z6 {+ A, A谢谢woaishuijia版主的VBA与lsp,今后工作中我就用您的程序了。
5 t' x" z- N! A" ~4 l' l1 J8 {" f7 R
为增加活跃一下的气氛,我还是稍后整理公布一下过程不是“很”复杂的几何作法吧。
发表于 2015-1-19 22:02:32 | 显示全部楼层 来自: 中国辽宁大连
能给出长轴和短轴的公式吗?和水平角度的计算
发表于 2015-1-19 23:10:51 | 显示全部楼层 来自: 中国辽宁营口
本帖最后由 woaishuijia 于 2015-1-19 23:25 编辑 1 P9 f# ?! ~6 @) L+ l3 q
gongwen0519 发表于 2015-1-19 20:45 http://www.3dportal.cn/discuz/static/image/common/back.gif. I# v4 h. z  A- H
woaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码, ...

; i3 r- W4 W% V- c$ U. m' k
8 e+ w6 c1 t" Z3 v- r" S- B9 w C3PE.rar (4.96 KB, 下载次数: 25)
 楼主| 发表于 2015-1-20 00:04:33 | 显示全部楼层 来自: 中国北京
lisc2000 发表于 2015-1-19 22:02 static/image/common/back.gif
7 |) Q9 f9 {- l- N能给出长轴和短轴的公式吗?和水平角度的计算
  e) Z- X' d) K8 b, p- w9 ?- D
已经整理好一种几何解法:* F; u+ |! K! c

0 ]$ v7 v& W- p9 i/ H- x前面的说明:
8 i" i9 Y# U& d0 F+ S
: {7 E8 U# e' ]2 u/ s, u5 E d001.png ' T5 P& F! z! I( n  z

- E3 ]/ H: ^3 M! T. \! P作图过程:
& S+ x" E2 {( U; I( y8 o& S' o1 E( V5 y6 y# P, g" c
d002.png
7 _8 A- e2 [* C; Q3 g; l7 i' g+ ]2 A* B
d003.png & w9 M5 z4 O7 d, i
下图是OP的作法:
3 }8 b- j% s8 y( R! M- p5 V d004.png
; p; C2 h  r3 w) d$ h5 A8 W& g6 D最后完成椭圆的长短半轴:8 M& |% \3 V- ~- R* {4 }7 q
" I! `/ t- D- @3 |5 X1 {& a
d005.png 5 h- q3 R& X$ C5 x
( F4 u2 c4 _7 P1 C$ q+ [5 t
4 M5 @1 c4 Y7 t. R; U& ?% O

评分

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

查看全部评分

 楼主| 发表于 2015-1-20 00:11:41 | 显示全部楼层 来自: 中国北京
woaishuijia 发表于 2015-1-19 23:10 static/image/common/back.gif
6 b# ~% _, F0 B3 E6 v6 V
谢谢,收藏了。
发表于 2015-1-20 13:46:59 | 显示全部楼层 来自: 中国天津
学习了。     
发表于 2018-3-15 10:26:44 | 显示全部楼层 来自: 中国浙江宁波
woaishuijia 发表于 2015-1-19 19:43
4 F+ G6 [+ f# U, A. v再来个LISP

. l$ f; _$ t6 b, y4 Q- N7 u这是什么?代码?用于CAD?

点评

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

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

点评

做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。  详情 回复 发表于 2018-3-16 05:11
发表于 2018-3-16 05:11:36 | 显示全部楼层 来自: 中国北京
JCKFC1997 发表于 2018-3-15 20:027 X& ~$ K4 ~8 q8 I
TOPSOLID + s3 k/ Q1 B% r' I0 [/ S" H& I7 R
用中心点加圆上两点即可

6 j7 V/ ]/ C9 y做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。
发表于 2018-3-22 17:16:50 | 显示全部楼层 来自: 中国浙江宁波
可以吼出来啊
3 x. y2 w+ b" G; T

可以

可以

点评

已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。 下图是根据相同的条件随便画的几个,自己看。  详情 回复 发表于 2018-3-27 00:41
发表于 2018-3-27 00:41:25 | 显示全部楼层 来自: 中国北京
本帖最后由 woaishuijia 于 2018-3-27 00:42 编辑
0 S* A* u+ \( ?$ S) Y1 X
JCKFC1997 发表于 2018-3-22 17:16
- y* R6 {- B9 y+ n. @可以吼出来啊

" ~' C7 M0 o2 J2 i% i! n已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。2 y/ |& r' e- W" G. ~  _% v& W% w
下图是根据相同的条件随便画的几个,自己看。
) b% E) q8 I7 f* \# c' ]- b' M0 F# b( O) f" }' N( y3 [
捕获.PNG
发表于 2018-11-11 09:32:10 | 显示全部楼层 来自: 中国广东佛山
下载个程序用用。
发表于 2018-12-3 09:59:14 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2015-1-19 12:32
# r# F  J& I  b  z3 l) \1 _, N6 |怎么没人回呢?
8 T/ u1 d( s; K- }
请教一下版主,现在CAD编程方面,学习LISP和VBA各有什么优缺点?初学想学习编程,想询问一下版主学习哪个更合适一些?

点评

简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面向对象的编程工具,通过图形界面和代码操纵CAD的内核。它的编程界面很友好,特别是程序中需要使用用户窗口或对  详情 回复 发表于 2018-12-5 23:23
发表于 2018-12-5 23:23:13 | 显示全部楼层 来自: 中国北京
kuangben8 发表于 2018-12-3 09:596 S3 O' Y' v7 e. Y. ~
请教一下版主,现在CAD编程方面,学习LISP和VBA各有什么优缺点?初学想学习编程,想询问一下版主学习哪个 ...
# E  ~1 L$ Z0 _' @
简单说,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:236 z4 J$ Y$ g" y# _  i- C
简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面 ...
, H+ w7 @/ s% E) s8 Y5 _/ U
好的,感谢版主大大。。。我初学了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" K9 E5 \% F0 m' J4 N
好的,感谢版主大大。。。我初学了EXCEL的编程,感觉还可以,所以就想结合CAD编程,尝试在借助excel中的 ...
1 T5 j* U. h  ]. ^4 p
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编程简直易如反掌。而且VBA的一大优势就是在支持VBA的软件之间交换数据,所以你说的“借助excel中的数据,自动完成在CAD中的绘图”就是自然而然的事。
发表于 2018-12-8 21:17:27 | 显示全部楼层 来自: 中国
woaishuijia 发表于 2018-12-8 20:332 q8 @  N8 |0 b$ O/ g$ E9 q5 b0 z
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...

5 k8 U0 l: b8 W; |( ]  l  y# Q好的,感谢版主大大!给了我很大的信心!
发表于 2019-1-29 12:43:15 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2018-12-8 20:33
% u# G% I3 |% q: a: LEXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...
$ d3 S0 H6 _; E/ W
老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻烦多了!没有录制宏,我该怎么学习CAD的VBA呢?

点评

把邮箱给我  详情 回复 发表于 2019-1-30 22:13
发表于 2019-1-30 22:13:09 | 显示全部楼层 来自: 中国北京
kuangben8 发表于 2019-1-29 12:43( j1 o1 S% P- N
老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻 ...

3 m6 c+ ], b! W2 d把邮箱给我
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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