QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 gongwen0519 于 2015-1-14 00:21 编辑
: [2 _; q! c7 @9 N" ^0 k
! O! d4 o5 A! V% `9 H本题是继这个http://www.3dportal.cn/discuz/fo ... ead&tid=1449246【作出最长值(不限软件)】帖子而来,该帖椭圆中心可知,同时也可以随便得到椭圆上的三点。7 ^2 x( m; N( a3 l9 \& \( w
' ~1 t8 o7 X. R7 j- \! O
几何作图作出OX、OY的方向与长度即可,ACAD则画出整个椭圆:
& M" A7 X% r3 c: O1 y" v
% ~1 s& K2 {( U6 p* E% ](这类问题在工程实际中很实用。)
5 L* o3 C7 W: w- {# M+ g6 V' O% }6 z  ]# Z8 N5 J4 w& z; d
tuoyuan.png 4 A6 T+ N2 r+ X6 b2 \

评分

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

查看全部评分

发表于 2015-1-19 12:32:28 | 显示全部楼层
怎么没人回呢?
  1. Sub C3PE()
    3 u# b3 l$ n, g, ~# X, i
  2. Dim P0(2) As Double, P1 As Variant, P2 As Variant, P3 As Variant, P4 As Variant* A+ |$ O$ F6 A# n' N
  3. Dim X1 As Double, Y1 As Double, X2 As Double, Y2 As Double, X3 As Double, Y3 As Double
    " _) T  b% u* ?$ O$ e
  4. Dim A As Double, B As Double, C As Double, F As Double, Ang As Double, R1 As Double, R2 As Double
    7 C* U( t2 x! F
  5. On Error GoTo 10
    - A& x% }; `/ W0 W3 P/ U2 \
  6. With ThisDrawing8 k+ ?- V( }. _0 a9 O: {: \/ c
  7. P1 = .Utility.GetPoint(, "指定中心点")
    4 W8 L9 Q- b& c5 t; u
  8. P2 = .Utility.GetPoint(, "指定第一点")
    % G# `) n. ^- h# y# S
  9. P3 = .Utility.GetPoint(, "指定第二点")' A2 f' v3 x7 M
  10. P4 = .Utility.GetPoint(, "指定第三点")
    6 X+ P# |6 ^2 }; ?* Q& ^- N
  11. X1 = P2(0) - P1(0)$ P. w" }+ U. [5 K$ |
  12. Y1 = P2(1) - P1(1). j/ _) u! _, y( s% _2 x: \
  13. X2 = P3(0) - P1(0)0 b6 I# W% Z2 V& Q; P
  14. Y2 = P3(1) - P1(1)
    ; E2 ^' L6 F! P! I, ?2 d  v
  15. X3 = P4(0) - P1(0)) q; v+ J+ y3 m3 S
  16. Y3 = P4(1) - P1(1)% c* W6 e- o  m& c" F  I
  17. A = (X1 * Y1 - X2 * Y2) * (Y1 ^ 2 - Y3 ^ 2) - (X1 * Y1 - X3 * Y3) * (Y1 ^ 2 - Y2 ^ 2)' @$ q/ X$ F& u+ ?( t" x/ k" W
  18. If A <> 0 Then/ G3 E' N' F% a7 r6 W
  19. B = ((X1 ^ 2 - X2 ^ 2) * (X1 * Y1 - X3 * Y3) - (X1 ^ 2 - X3 ^ 2) * (X1 * Y1 - X2 * Y2)) / A0 p0 b' D7 |2 N
  20. C = ((X1 ^ 2 - X3 ^ 2) * (Y1 ^ 2 - Y2 ^ 2) - (X1 ^ 2 - X2 ^ 2) * (Y1 ^ 2 - Y3 ^ 2)) / A
    $ x" J/ N) @' L
  21. F = -X1 ^ 2 - B * Y1 ^ 2 - C * X1 * Y1; T( k' L# v+ C' A$ C
  22. If C = 0 Then6 c/ O) W( O# {* A( N
  23. If B > 0 And F < 0 Then
    - p8 M8 I# G) i2 v$ U
  24. Ang = 08 j" \6 V4 Q  \
  25. R1 = Sqr(-F)
    ! U6 g$ v4 d+ I, h
  26. R2 = Sqr(-F / B)
    ) T$ q# M8 \0 O  w$ r& T( U) o
  27. Else
    " b* d6 W7 @  V7 Y1 n2 a0 f1 x
  28. Exit Sub# e9 W4 E+ ]3 ]
  29. End If! L7 U1 z# g- d' i' k3 b
  30. Else+ {3 k8 F2 y# i# r  F* j
  31. If B = 1 Then2 n( @# m) J# W
  32. If F < 0 And C > -2 And C < 2 Then
    & X- K6 |! ~1 i4 s; t$ B/ o
  33. Ang = .Utility.AngleToReal(45, acDegrees)3 @! p+ A4 l- r& R/ z8 l" E
  34. R1 = Sqr(-2 * F / (2 + C))3 c: D3 M+ v3 I# i8 T% R# m
  35. R2 = Sqr(-2 * F / (2 - C))3 O; k5 n# T  d0 t2 J5 l
  36. Else. K- f- k& p" R2 s- t
  37. Exit Sub
    - _" j3 c: v% Q7 D9 o
  38. End If
    + o& E% r- y$ G+ ~4 ]# s
  39. Else
    - X. }# o0 N+ p5 T
  40. Ang = Atn(C / (1 - B)) / 2# W" n& |- E$ Z" ?
  41. If Ang < 0 Then Ang = Ang + .Utility.AngleToReal(90, acDegrees)- p. P! B1 I# {0 t4 u2 {0 ^% c9 r
  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 _
      X) T0 i' y: E& ~2 @% h
  43. B < -1 And F > 0 And C > (B + Tan(Ang) ^ 2) / Tan(Ang) And C < -(1 + B * Tan(Ang) ^ 2) / Tan(Ang) Then. l7 T/ _: |% J2 `
  44. R2 = -F * (1 + Tan(Ang) ^ 2)" F, X7 @; S; Q% b# T
  45. R1 = Sqr(R2 / (1 + B * Tan(Ang) ^ 2 + C * Tan(Ang)))) n5 I0 a; J' ~* T+ o
  46. R2 = Sqr(R2 / (B + Tan(Ang) ^ 2 - C * Tan(Ang)))! ]) v0 W2 E& d9 A9 ?/ p: W3 b- [7 b. X
  47. Else
      B' w, [1 |. X- X
  48. Exit Sub
    ' |, c8 _# ?% V) g9 ~
  49. End If
    4 W/ w% O2 G0 l
  50. End If
    & p# H4 h6 q, s4 k2 y
  51. End If
    % h% d4 s# @: p
  52. Else9 C- W0 `1 \8 \4 ~) p
  53. Exit Sub
    1 s; {- N8 P& O$ q1 ]3 y. X! }
  54. End If
    9 E/ z3 e; M9 t6 r4 H. {' f& B0 A1 @
  55. If R2 < R1 Then) ?9 [, i5 s7 Z* z) K0 {, s
  56. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang, R1), R2 / R1& j$ f" L1 w5 G
  57. Else
    4 o1 @# H+ ^8 N& q
  58. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang + .Utility.AngleToReal(90, acDegrees), R2), R1 / R2' `& o0 Q" H, {8 S. l, l0 y
  59. End If
    - K& o3 }% Y& t+ b' p7 c
  60. End With* e! c+ B6 ~1 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 编辑 % b4 J0 b( S  O; g! r
2 O6 e# R* z" T6 H" v% x
再来个LISP
  1. (defun c:c3pe2 x0 t' a7 y! a- ^* Y( f
  2.        (/ old p0 p1 p2 p3 p4 x1 y1 x2 y2 x3 y3 a b c f ang r1 r2)
    % I) G9 K: T! \" i0 [& H
  3.   (setvar "CMDECHO" 0)
    / G8 U8 ^& m, v+ [$ _4 W( E2 \
  4.   (setq p0 (list 0 0 0)
    1 O) w: M/ g# j) U- [' T
  5. p1 (getpoint "\n 指定中心点:")
    % K8 B& p) @  K" `
  6. p2 (getpoint "\n 指定第一点:")7 C) e" q5 K: E( h5 Y2 Z
  7. p3 (getpoint "\n 指定第二点:")
    * @& x4 x: R! I5 j* Y! U
  8. p4 (getpoint "\n 指定第三点:")
    " @, v1 w. K2 u* W* A9 X" D
  9. a  (car p1): T9 v) n* }2 U. r/ i$ l
  10. b  (cadr p1)) |. A' ?- @0 F# W
  11. x1 (- (car p2) a)
    3 t2 T: m1 o# [. E
  12. y1 (- (cadr p2) b)
    ! M5 G5 Y2 G7 P1 G; e+ D& b. t7 R
  13. x2 (- (car p3) a)
    7 q5 Y! F- X& P2 |1 R$ j3 z% _. T6 r, A
  14. y2 (- (cadr p3) b)
    $ Y7 m& K4 Z: i$ n1 B
  15. x3 (- (car p4) a)
    + R. D1 l# V% |) o- |
  16. y3 (- (cadr p4) b)
    # x2 T6 z( }( U' |6 E1 p' w6 x
  17. a  (- (* (- (* x1 y1) (* x2 y2)) (- (* y1 y1) (* y3 y3)))9 g. }9 o9 S5 n5 u
  18.        (* (- (* x1 y1) (* x3 y3)) (- (* y1 y1) (* y2 y2)))
    3 a/ a$ y& t: }4 ]  `
  19.     ). I( i# I3 f. Y
  20.   )
    4 u, o8 ?  u/ c" k! F
  21.   (if (/= a 0.0). P9 g% I$ ~  f$ @* a
  22.     (progn! }/ I6 n: a  b: U/ H( ^  P& ^
  23.       (setq b (/ (- (* (- (* x1 x1) (* x2 x2)) (- (* x1 y1) (* x3 y3)))
    $ P  q# V' \9 s, W3 a  y% V
  24.       (* (- (* x1 x1) (* x3 x3)) (- (* x1 y1) (* x2 y2)))) K5 d! `# q' @2 W( n  @8 C4 Q
  25.    )) D: V; ~6 y9 D5 [- m- T# B. J( U
  26.    a4 @0 U. b6 |& z6 m  I0 `- D5 R; T
  27.        )1 [7 P6 l) O$ _
  28.      c (/ (- (* (- (* x1 x1) (* x3 x3)) (- (* y1 y1) (* y2 y2)))
    . q3 |' }( ?& C" O4 n1 S
  29.       (* (- (* x1 x1) (* x2 x2)) (- (* y1 y1) (* y3 y3))); V" Y% i( h- [+ [* N" H$ ~
  30.    )* e3 C: v/ _) E
  31.    a/ B2 m2 x- M6 N8 B2 v1 g
  32.        )5 z; S+ ]. @! a8 P# @9 n
  33.      f (- 0 (* x1 x1) (* b y1 y1) (* c x1 y1))+ j* r+ _7 d6 ~
  34.       )) _' g& ~7 o2 x% E% X1 s5 V2 x
  35.       (if (zerop c)5 t1 N! j! n, ]& O( n) y& U8 q, s
  36. (if (and (> b 0.0) (< f 0.0))
    0 ?7 U6 @* D$ E  z0 D
  37.    (setq ang 0.0  v3 t6 S7 f# h9 Q! j
  38.   r1  (sqrt (- 0 f))" \! d5 F3 g, F. o, ~" d- N
  39.   r2  (sqrt (- 0 (/ f b)))
    ( f& A$ L; p7 \/ `
  40.    )( q: u% n1 V3 k! [, F$ q
  41. )% k* }) M- X/ _
  42. (progn2 X- U/ [* _" r: \# ~; [
  43.    (if (= b 1.0)  J5 Z1 X8 U8 l' x$ h) f- T% t7 A
  44.      (if (and (< f 0.0) (> c -2.0) (< c 2.0))
    1 J! b& N0 ]( T0 o# i* B. r
  45.        (setq ang (/ pi 4)
    % p  y" f* p$ i0 S7 Q
  46.       r1 (sqrt (* -2 (/ f (+ 2 c))))& ?  O* W8 L1 d
  47.       r2 (sqrt (* -2 (/ f (- 2 c))))
    ) \$ W9 p6 _& @: V7 E
  48.        )
    4 b6 r5 y/ Z% z, E" e
  49.      )
    ) O( l1 X' i2 R
  50.      (progn/ P; y- U8 H; D4 t6 R0 o
  51.        (setq ang (/ (atan (/ c (- 1 b)))
    2 ~' }0 E& q8 k9 h6 w9 u
  52.       2
    0 L- ~: _2 s" n% ]6 E/ Z/ b
  53.    ), D! L" ]1 p" n) N  O$ n; P3 `7 }% C
  54.        )
    - m3 [4 k2 E% F( m
  55.        (if (< ang 0.0)
    5 _  y% l, |0 O) B0 c
  56.   (setq ang (+ ang (/ pi 2)))
      Z8 s- R. x# X, a* g
  57.        )( d3 P+ h4 a5 p8 n- W+ _( `/ d6 Z
  58.        (setq a (/ (sin ang) (cos ang)))6 w# @3 T% i; \
  59.        (if (or (and (> b -1.0)# n3 k( G$ t# }& Q
  60.       (< f 0.0)
    * t" U1 {8 r5 _& ^- Q# b" F
  61.       (> c (/ (- -1.0 (* b (* a a))) a))
    2 z+ i4 \/ m  H) V$ W0 W
  62.       (< c (/ (+ b (* a a)) a))
    # u$ m. `  K, N2 e2 g
  63.         )
    # a. }9 I: ?0 b1 i. o  u) H
  64.         (and (< b -1.0)
    - W' n# N# a5 s% W( H9 z( y
  65.       (> f 0.0): M4 A: ?  B0 z8 S/ L
  66.       (> c (/ (+ b (* a a)) a))' H3 Z/ `/ Z$ a) e3 F
  67.       (< c (/ (- -1.0 (* b (* a a))) a))
    ) e( m# D3 g/ f8 N/ x
  68.         )
    $ S  E1 ~% F$ X/ L1 D7 a
  69.     )
    9 x/ w7 z+ `- S. y
  70.   (setq r2 (* -1 f (1+ (* a a)))7 h' t- w$ n1 F" w- U& Y
  71.         r1 (sqrt (/ r2 (+ 1 (* b a a) (* c a))))% o( ]* F2 p; E6 o7 n- [% E
  72.         r2 (sqrt (/ r2 (- (+ b (* a a)) (* c a)))); x1 B) @$ t4 Z8 H
  73.   )
    , Y, @8 e* A+ P) }8 o4 B7 B
  74.        )9 G. F) E0 x1 X! q
  75.      )+ H4 N0 q7 o5 O2 g* y7 h$ C6 n6 P7 `
  76.    )
    & I, [/ d5 X1 S' D
  77. )- t" O7 D3 A" v
  78.       )
    ; l( I8 b0 B& x. ^( S) x
  79.     )8 f9 W. n5 Q* ~8 y
  80.   )
    6 v. L! q! g7 z  ~# S, X
  81.   (if r13 P, q+ e  n* |" {1 c/ s- W
  82.     (progn
    % E: P' Z+ M+ C4 X/ Z
  83.       (setq old (getvar "OSMODE"))
    ( D. Q3 Q" B7 R3 f' g
  84.       (setvar "OSMODE" 0)7 x6 a% }9 s2 W5 Y
  85.       (command "ellipse"
    ' P+ v& d8 e4 r+ c8 b( t% k
  86.         "c"( y; y+ `, i0 Q1 ~0 m# d+ V5 d" _
  87.         p10 u) Z" \! p, h* V
  88.         (polar p1 ang r1)* G$ B' D+ M: A3 B
  89.         r2
    8 w( {! }$ p7 I6 {/ f* x
  90.       )
    + l: F6 J2 D4 [- u, G2 [
  91.       (setvar "OSMODE" old)9 L# g5 X2 N6 J2 n2 p( U% A8 D/ t
  92.     )* ^& x1 \, U7 @' Q
  93.   ). g, i' k! |( {) Z- O+ C
  94.   (princ)
    * Y8 e' U( m3 ]- \5 I
  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' G" }" `$ Q& V; m5 ?+ g" m
已知椭圆的中心点,将3点代入椭圆的一般方程,用解析几何的方法计算即可。

- J2 c7 h8 }# _可以不解方程,有纯几何方法解的(指能作出椭圆的长短轴的方向与长度)。
 楼主| 发表于 2015-1-19 20:45:01 | 显示全部楼层
本帖最后由 gongwen0519 于 2015-1-19 20:55 编辑 7 q4 l8 B0 [; }, {! j
woaishuijia 发表于 2015-1-19 19:43 static/image/common/back.gif
9 \) w. L9 a5 b9 u再来个LISP
( y1 q$ k) {0 {. A

4 ^! K7 O7 x' W2 e6 U8 C) _: E! Lwoaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码,手工复制或清理太费时间),谢谢。。
' ]7 ~  Q/ H- A  i, G* w/ U: U% p4 o3 h9 x$ O( {
看来大家和曾经的楼主一样,看到圆锥二次曲线就生威蹙眉。
! c2 ?& @* g2 F  [% c0 ^% W! v
- l! \' |! |* d" F$ Z( p" a如果用尺寸约束与驱动,把椭圆约束到这些参数上也是可以的呀。/ o$ K0 J: w9 z7 S7 f* f3 _
% O, l; g7 b: \0 _8 h# ^" r+ b7 x
谢谢woaishuijia版主的VBA与lsp,今后工作中我就用您的程序了。
% w: }4 Y  k2 B% T% q7 ?7 x  U: v4 `. A  \
为增加活跃一下的气氛,我还是稍后整理公布一下过程不是“很”复杂的几何作法吧。
发表于 2015-1-19 22:02:32 | 显示全部楼层
能给出长轴和短轴的公式吗?和水平角度的计算
发表于 2015-1-19 23:10:51 | 显示全部楼层
本帖最后由 woaishuijia 于 2015-1-19 23:25 编辑
$ }; K; M5 j' n$ W2 a! ^
gongwen0519 发表于 2015-1-19 20:45 http://www.3dportal.cn/discuz/static/image/common/back.gif
7 e. C! `0 p( t9 d9 J# v/ ewoaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码, ...

% n( N+ g* I0 F9 b+ N, f" k
; N% y- h. C8 ]0 _6 V( d C3PE.rar (4.96 KB, 下载次数: 24)
 楼主| 发表于 2015-1-20 00:04:33 | 显示全部楼层
lisc2000 发表于 2015-1-19 22:02 static/image/common/back.gif6 x2 h" C' G6 I/ N  Q, Z
能给出长轴和短轴的公式吗?和水平角度的计算
5 V3 V/ D& @7 O9 G0 T3 L9 T
已经整理好一种几何解法:9 P* ~+ g8 E" b" u& {

4 x' w9 a0 k3 Q4 Q# u8 c$ o6 M前面的说明:, c4 c. T7 b' f" Z- @; W: K
- L6 B' W* E+ Z- i0 r0 o( D% r
d001.png
0 ~  \. V3 @; R2 p6 w' k& j1 N/ w3 t1 f' {; z
作图过程:2 K7 V; q" n, O2 i: S- G

! a2 D0 F! q) n* b9 B/ s d002.png
7 F) @# I1 W  ?' T/ g2 Q0 b8 r/ I% v4 C6 T0 k
d003.png
$ }& t6 W/ d& H# v0 E- k, M下图是OP的作法:
. ]3 V5 s! R/ t d004.png
5 d/ M/ J& H2 b$ H0 s5 @0 B+ n( G最后完成椭圆的长短半轴:4 A$ y* f6 C" ?% P0 e  E3 ^! `% |# P

, R9 u6 c( v% t! N, G d005.png
+ h8 F, K3 c2 k2 z; R' T
$ C" }" ~# ?7 l8 j% z$ [% b- F$ ]# N- d

评分

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

查看全部评分

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

; X8 X+ y  j) D) r谢谢,收藏了。
发表于 2015-1-20 13:46:59 | 显示全部楼层
学习了。     
发表于 2018-3-15 10:26:44 | 显示全部楼层
woaishuijia 发表于 2015-1-19 19:43/ z3 M& A- \$ O4 Z& x
再来个LISP

, ~9 l9 e2 |: r: _; P! J" {  p/ ~这是什么?代码?用于CAD?

点评

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

点评

做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。  详情 回复 发表于 2018-3-16 05:11
发表于 2018-3-16 05:11:36 | 显示全部楼层
JCKFC1997 发表于 2018-3-15 20:02
: r' H! g8 j8 P) J, ?) ?# q* ], NTOPSOLID
/ z1 r/ y" O3 n. F# x用中心点加圆上两点即可
9 h3 J0 O( C5 ^. |, s* X7 f* C6 K
做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。
发表于 2018-3-22 17:16:50 | 显示全部楼层
可以吼出来啊+ E/ E( U% y' s: x

可以

可以

点评

已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。 下图是根据相同的条件随便画的几个,自己看。  详情 回复 发表于 2018-3-27 00:41
发表于 2018-3-27 00:41:25 | 显示全部楼层
本帖最后由 woaishuijia 于 2018-3-27 00:42 编辑 6 e" Q% h4 Q, m# W+ p/ F* B2 ?  B$ q3 `
JCKFC1997 发表于 2018-3-22 17:16
6 F% [: a. F1 h6 \3 ?, e可以吼出来啊

1 d# F, i2 l2 _- G) F6 |/ ]已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。
& {: J- J! ^. ?4 o  R4 d( `下图是根据相同的条件随便画的几个,自己看。
9 r1 Y* y  ]( Y7 k1 d1 m2 J
( R% F$ i% u, R2 N6 s7 f4 c
捕获.PNG
发表于 2018-11-11 09:32:10 | 显示全部楼层
下载个程序用用。
发表于 2018-12-3 09:59:14 | 显示全部楼层
woaishuijia 发表于 2015-1-19 12:32
& r1 u3 D, ^7 E1 G怎么没人回呢?
! J0 ]' H  `1 b
请教一下版主,现在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
" M8 a' F  h. j9 P请教一下版主,现在CAD编程方面,学习LISP和VBA各有什么优缺点?初学想学习编程,想询问一下版主学习哪个 ...

. ]' {) x$ ?4 i0 a7 ^5 g简单说,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
- o1 q0 ]& D( z' b4 {简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面 ...

- T: C: B0 `7 F好的,感谢版主大大。。。我初学了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
1 C8 @3 \6 z# ]# @; N: t好的,感谢版主大大。。。我初学了EXCEL的编程,感觉还可以,所以就想结合CAD编程,尝试在借助excel中的 ...

+ k% C. M  f5 Q( YEXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编程简直易如反掌。而且VBA的一大优势就是在支持VBA的软件之间交换数据,所以你说的“借助excel中的数据,自动完成在CAD中的绘图”就是自然而然的事。
发表于 2018-12-8 21:17:27 | 显示全部楼层
woaishuijia 发表于 2018-12-8 20:33
, z' W7 Z6 L0 N7 ^EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...
4 e8 M* ^- U& |) C
好的,感谢版主大大!给了我很大的信心!
发表于 2019-1-29 12:43:15 | 显示全部楼层
woaishuijia 发表于 2018-12-8 20:330 Z9 X# y$ L6 d4 e
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...
3 i% K2 m) a0 Z: p3 u* C* a; B
老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻烦多了!没有录制宏,我该怎么学习CAD的VBA呢?

点评

把邮箱给我  详情 回复 发表于 2019-1-30 22:13
发表于 2019-1-30 22:13:09 | 显示全部楼层
kuangben8 发表于 2019-1-29 12:431 `+ X  ~+ c2 c4 t! q, I: s
老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻 ...

, f- q" B+ ~5 v' Q+ C; E把邮箱给我
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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