QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 gongwen0519 于 2015-1-14 00:21 编辑
6 _2 P4 d6 k" e5 v4 z7 b. l7 C& \! }& Q  ~* {1 l
本题是继这个http://www.3dportal.cn/discuz/fo ... ead&tid=1449246【作出最长值(不限软件)】帖子而来,该帖椭圆中心可知,同时也可以随便得到椭圆上的三点。; V; I: W, @% D; E

/ ^% z* h+ P3 L" q几何作图作出OX、OY的方向与长度即可,ACAD则画出整个椭圆:
" r( Z( t$ B5 P5 ^) x7 |7 x8 ^5 r
; c0 q( |7 |* {8 J& X7 X4 }8 X4 J, ~(这类问题在工程实际中很实用。)
$ L6 O& ~: f. ], P% N( e
, T* g' p9 r" w0 k" L: c: Q tuoyuan.png ! t5 |! Z( j. q7 ^, k2 T

评分

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

查看全部评分

发表于 2015-1-19 12:32:28 | 显示全部楼层
怎么没人回呢?
  1. Sub C3PE()
    # T6 A. _  j& }9 T
  2. Dim P0(2) As Double, P1 As Variant, P2 As Variant, P3 As Variant, P4 As Variant
    ( A" K+ j1 c4 i# z" w
  3. Dim X1 As Double, Y1 As Double, X2 As Double, Y2 As Double, X3 As Double, Y3 As Double1 M& Z. h# S. i$ H0 Z0 m: H
  4. Dim A As Double, B As Double, C As Double, F As Double, Ang As Double, R1 As Double, R2 As Double$ G; @  B" i% ^: g5 P3 ^$ {
  5. On Error GoTo 10
    % z. A; Q( s. Z3 y
  6. With ThisDrawing
    1 H( i: f' [+ D2 g
  7. P1 = .Utility.GetPoint(, "指定中心点")* P/ H' }  l- A2 c. n  F
  8. P2 = .Utility.GetPoint(, "指定第一点")
    ; V* t8 H4 k* U! {, l
  9. P3 = .Utility.GetPoint(, "指定第二点")1 m+ F# {0 t$ |+ P
  10. P4 = .Utility.GetPoint(, "指定第三点")
    ; U- D0 w/ x& w2 _. A) Q+ k
  11. X1 = P2(0) - P1(0)
    ( s- Q- T- T- ^+ W
  12. Y1 = P2(1) - P1(1)
    ( n1 E; j% n* s) T
  13. X2 = P3(0) - P1(0)
    ; V: o. O8 W# S8 z; L
  14. Y2 = P3(1) - P1(1)  }4 K: j/ ]6 J6 W* b2 b
  15. X3 = P4(0) - P1(0)
    ; `  j& t- B1 g, ~2 V. [7 z9 k, _6 r
  16. Y3 = P4(1) - P1(1); e& a9 h# B! g
  17. A = (X1 * Y1 - X2 * Y2) * (Y1 ^ 2 - Y3 ^ 2) - (X1 * Y1 - X3 * Y3) * (Y1 ^ 2 - Y2 ^ 2)9 B) w& H3 V& B$ k  w. H3 d  @7 l
  18. If A <> 0 Then/ H8 M: N5 B  ~0 _
  19. B = ((X1 ^ 2 - X2 ^ 2) * (X1 * Y1 - X3 * Y3) - (X1 ^ 2 - X3 ^ 2) * (X1 * Y1 - X2 * Y2)) / A
    ; d% X! `+ f3 s7 D7 t/ n
  20. C = ((X1 ^ 2 - X3 ^ 2) * (Y1 ^ 2 - Y2 ^ 2) - (X1 ^ 2 - X2 ^ 2) * (Y1 ^ 2 - Y3 ^ 2)) / A. V1 i2 g6 @; J# l
  21. F = -X1 ^ 2 - B * Y1 ^ 2 - C * X1 * Y1/ C" Z# |9 T' s7 L. n
  22. If C = 0 Then: p# i8 C( H( }3 v: |) ~/ P
  23. If B > 0 And F < 0 Then
    # K- r) Q- I. c/ h$ T9 m
  24. Ang = 0
    ' X1 u& ]9 |( H, P# k
  25. R1 = Sqr(-F). |) F6 k; @0 v0 a, H
  26. R2 = Sqr(-F / B)
    1 J- K- X* V- e' w# m
  27. Else
    5 K$ I. c8 W3 m# j: b
  28. Exit Sub, q/ _) e! Q! G5 ~' d2 P9 i
  29. End If
    % J4 v3 V' [! P1 n9 G
  30. Else
    ; x9 f) ?8 l5 t
  31. If B = 1 Then
    7 c/ `: M' ]; `3 P/ C- p! V4 h
  32. If F < 0 And C > -2 And C < 2 Then
    / G! j+ }8 S- J
  33. Ang = .Utility.AngleToReal(45, acDegrees)4 T: ~% f- Q% A0 C8 U
  34. R1 = Sqr(-2 * F / (2 + C))3 @! M, k# Q6 O$ a) d7 n
  35. R2 = Sqr(-2 * F / (2 - C))  M* z  ]  z0 t0 e* I
  36. Else- v' I" A$ Y% B+ E' X
  37. Exit Sub+ L( m& D0 s! s! d" p
  38. End If6 A# ?9 Y1 P$ G2 @
  39. Else
    ( K8 B$ z8 o/ Y9 {+ y: x
  40. Ang = Atn(C / (1 - B)) / 2
    : X5 F; l6 K0 C7 `& P
  41. If Ang < 0 Then Ang = Ang + .Utility.AngleToReal(90, acDegrees), E7 T+ t; N1 z$ p# @* P. T: a+ H
  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 _! o! U* @3 P! w& _
  43. B < -1 And F > 0 And C > (B + Tan(Ang) ^ 2) / Tan(Ang) And C < -(1 + B * Tan(Ang) ^ 2) / Tan(Ang) Then+ P' }7 d* j3 s5 j2 W* o
  44. R2 = -F * (1 + Tan(Ang) ^ 2)3 x7 p, \2 |1 ^: K9 k
  45. R1 = Sqr(R2 / (1 + B * Tan(Ang) ^ 2 + C * Tan(Ang))). K4 Q$ V* P* E( t$ c
  46. R2 = Sqr(R2 / (B + Tan(Ang) ^ 2 - C * Tan(Ang)))8 N: O) J) q/ ]) e; k1 l- u
  47. Else
    ( y2 c- Y9 u* x  a  }
  48. Exit Sub
    6 f, S; {# `9 g0 B0 ~% X! K
  49. End If! a" H5 R+ W& V$ e1 \8 Z1 L0 O( Q9 R7 S
  50. End If$ G: P( E7 ]: K+ i5 \
  51. End If" F; S: [: v4 \4 H+ E
  52. Else9 ~3 ?, x! M, Q. y
  53. Exit Sub
    5 x* P, A! U3 S
  54. End If  R" R% f7 g3 ]; @+ ?$ y
  55. If R2 < R1 Then
    & A9 v1 k& r: a' c% w
  56. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang, R1), R2 / R1% n; f: ~& \; b/ s# _  X/ y
  57. Else6 Q( t! T( u) y* X
  58. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang + .Utility.AngleToReal(90, acDegrees), R2), R1 / R2; T; E8 P3 v5 z0 A9 ^; W
  59. End If
    ' b* f$ j1 g! V6 m* s  E
  60. End With  v. |6 I! c! F6 D8 v, O3 t
  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 编辑
* s/ L- L2 p$ J# B2 R7 ^8 _& L8 ^, h$ H$ ]
再来个LISP
  1. (defun c:c3pe  g; C- h' L6 x2 R+ [
  2.        (/ old p0 p1 p2 p3 p4 x1 y1 x2 y2 x3 y3 a b c f ang r1 r2)4 u" O& ]/ h: T5 L2 Q* y
  3.   (setvar "CMDECHO" 0)+ G+ F+ c; X2 B( i/ I0 z
  4.   (setq p0 (list 0 0 0), T6 t" A& R4 c, k7 a5 F( W
  5. p1 (getpoint "\n 指定中心点:")$ {; e4 E- y* |9 Y
  6. p2 (getpoint "\n 指定第一点:")( Q0 q6 z4 j9 z* v
  7. p3 (getpoint "\n 指定第二点:")
    6 S5 A2 f) `$ @' m
  8. p4 (getpoint "\n 指定第三点:")
    / B' X, Z8 Z) |1 I( X( p- p
  9. a  (car p1)
    * n2 ~$ m- R8 y' g
  10. b  (cadr p1)
    8 v2 e% e. |# Y( x6 C
  11. x1 (- (car p2) a)
    % P' p% i  Y( z5 j8 U1 [
  12. y1 (- (cadr p2) b)
    6 ]' O5 `& ^+ w; {' r- X
  13. x2 (- (car p3) a)
      _; a8 s" B+ |! ]
  14. y2 (- (cadr p3) b)( x& G  B" c. B, y* f4 t
  15. x3 (- (car p4) a)% z8 q) ^4 d1 B; W1 ]+ {
  16. y3 (- (cadr p4) b)
    7 H8 P5 `; X" e% n
  17. a  (- (* (- (* x1 y1) (* x2 y2)) (- (* y1 y1) (* y3 y3)))6 ?- u( ?, T0 Y
  18.        (* (- (* x1 y1) (* x3 y3)) (- (* y1 y1) (* y2 y2)))6 k. E/ C& M; q2 ?; D7 }
  19.     )$ ]' E7 S, O2 T9 b; G( i
  20.   )% k3 ?* L/ v# t# D
  21.   (if (/= a 0.0)- N# N  @& i! D$ U" p( \+ L
  22.     (progn1 O& u7 o9 V* b! ~
  23.       (setq b (/ (- (* (- (* x1 x1) (* x2 x2)) (- (* x1 y1) (* x3 y3)))
    / L9 y5 d# g$ u8 O2 ?' {! \2 W
  24.       (* (- (* x1 x1) (* x3 x3)) (- (* x1 y1) (* x2 y2))): q4 J$ l4 E7 @) y3 L
  25.    )
    6 {" N$ [1 U4 j- N1 n
  26.    a7 M8 A: Z9 \4 i5 u
  27.        )7 X8 q# Q, K3 w! a
  28.      c (/ (- (* (- (* x1 x1) (* x3 x3)) (- (* y1 y1) (* y2 y2)))7 g' R1 U/ v4 b8 q: w+ v
  29.       (* (- (* x1 x1) (* x2 x2)) (- (* y1 y1) (* y3 y3)))) U+ e$ Q/ i* R3 i
  30.    )
    : B0 H5 @6 o0 H9 F5 p, `
  31.    a) g7 |9 V# X) y7 r
  32.        )4 b. [! q+ w' m4 i7 g  ?
  33.      f (- 0 (* x1 x1) (* b y1 y1) (* c x1 y1))
    ( Y4 ^; Q: i% X# b
  34.       )
    ; \! e  W! e4 _* x% z- K3 W- {
  35.       (if (zerop c)
    * z6 ?$ {8 ]: a; ]
  36. (if (and (> b 0.0) (< f 0.0))
    1 j) n9 U$ H7 q, E) t' z
  37.    (setq ang 0.0  M- B5 X* r: E8 t& Z
  38.   r1  (sqrt (- 0 f))
    ! Q+ ]' u& X' i- [
  39.   r2  (sqrt (- 0 (/ f b)))7 {; b; N, O) ~; U
  40.    )
    & Y3 t2 J# [! G& U+ D( j5 Q
  41. )- O  @& i, U2 {% u
  42. (progn( ]$ i! s' C# b+ O4 ^& \
  43.    (if (= b 1.0)
    $ g) _1 l6 ?$ Z" _9 G+ z
  44.      (if (and (< f 0.0) (> c -2.0) (< c 2.0))4 M$ G  H) F0 m
  45.        (setq ang (/ pi 4)
    + R+ Z: B& _5 V6 \" Y" x& E6 a
  46.       r1 (sqrt (* -2 (/ f (+ 2 c))))& b" O7 m  y5 b: V( y% g* ]3 y3 ^
  47.       r2 (sqrt (* -2 (/ f (- 2 c))))
    - d4 x; `4 W7 s' f% T( O
  48.        )9 z5 N0 k8 g1 O( V% N7 Y
  49.      )/ n" ~8 V& [" ^1 h/ b# n
  50.      (progn
    ) Y" B! d% i# v. j' R7 b
  51.        (setq ang (/ (atan (/ c (- 1 b)))/ O4 \% g9 Y4 S+ f4 s4 ^- @' ?0 _
  52.       2
    9 ]$ ]; C& D% t7 j, Q
  53.    )
    % i- M) w7 h# ~' U! N2 U0 n! G5 E
  54.        )$ c7 U# S: L7 g. J% y2 r% X  K- [
  55.        (if (< ang 0.0)
    % C/ W' G$ G( x" g( _$ p" x3 k
  56.   (setq ang (+ ang (/ pi 2)))
    1 ]3 A$ U* ^; G/ b
  57.        )# g7 V, x. Y) D& p& h; o# j
  58.        (setq a (/ (sin ang) (cos ang)))$ R# Y0 }+ w2 J' k
  59.        (if (or (and (> b -1.0)) S% Y/ c( J! K, o6 Y' ], U
  60.       (< f 0.0)
    + |) I3 r! Z3 e; O! U6 }
  61.       (> c (/ (- -1.0 (* b (* a a))) a))) ?5 z1 E* }$ o1 q
  62.       (< c (/ (+ b (* a a)) a))
    ! d& E7 D- K+ ?1 h+ v6 F
  63.         )
    - ]" ]7 l( K! R3 x
  64.         (and (< b -1.0)
    / f. g  W3 u5 ~" p3 d: Y9 a: T* a
  65.       (> f 0.0)
    - d* I8 h3 [% Z9 [
  66.       (> c (/ (+ b (* a a)) a))! x: a6 C# W& w/ f+ V1 E3 C, w" ^" ^6 |9 @5 k
  67.       (< c (/ (- -1.0 (* b (* a a))) a)). d* o6 T) D! M, G6 \8 A
  68.         )' ]$ M, P7 l, j" R9 s
  69.     )1 R9 [0 h, C" G3 W& r
  70.   (setq r2 (* -1 f (1+ (* a a)))
    " Z0 [6 }( R3 h/ B
  71.         r1 (sqrt (/ r2 (+ 1 (* b a a) (* c a))))% a5 ^5 q9 Z/ A* F+ n) m
  72.         r2 (sqrt (/ r2 (- (+ b (* a a)) (* c a))))8 o3 T& D) ^$ H2 [9 I" I$ X9 q; W
  73.   )
    ' ~- [, U1 x6 y9 \
  74.        )
    ) Q9 k; @) M, k6 h) A& K% |
  75.      )
    * j" U+ i, |/ w2 K5 s
  76.    )
    5 n* S5 E! ^" G. z2 v$ r
  77. )
    8 y& j* P9 ^  P& y: f: I: f+ `
  78.       )  T) e: E) p+ F& x- f/ p5 s2 |
  79.     )5 I0 o/ }! M" A: n2 I; Z
  80.   )
    3 s, _3 i4 Q9 D* p, j9 L  [
  81.   (if r1: g( p. t6 X5 N8 u; p0 N& T* W
  82.     (progn! z: r9 A: [$ M+ P
  83.       (setq old (getvar "OSMODE"))1 N) @- u2 Q! Z4 {, ~
  84.       (setvar "OSMODE" 0)
    ' r: u* p" n0 W- y' k  r8 o! ?/ _
  85.       (command "ellipse"3 ]2 M6 ~8 J, ?
  86.         "c"- H2 @) D8 j4 G9 P
  87.         p1
    ! T- b% e: _& Q* [$ I" G
  88.         (polar p1 ang r1)- }  E, r6 A% B
  89.         r2
    + i7 B: y7 C( M; f& N; C
  90.       )
    / ~" q* a- f/ x6 F* Z
  91.       (setvar "OSMODE" old)
    / Z) F# _& ^6 f4 ?# N" a+ D
  92.     )
    4 o2 s/ H! E2 P8 b
  93.   )
    ' P2 Y, |% v2 s
  94.   (princ)3 F# ^) ~  }& M& B$ B, l+ o
  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
: L$ f; f' I) D5 i已知椭圆的中心点,将3点代入椭圆的一般方程,用解析几何的方法计算即可。
" H9 R# q1 c) [
可以不解方程,有纯几何方法解的(指能作出椭圆的长短轴的方向与长度)。
 楼主| 发表于 2015-1-19 20:45:01 | 显示全部楼层
本帖最后由 gongwen0519 于 2015-1-19 20:55 编辑
& o+ O& S9 ^% C% V; Q  @
woaishuijia 发表于 2015-1-19 19:43 static/image/common/back.gif! s. e0 c1 @( H; p: f; ~
再来个LISP

/ d- Z6 H6 N9 w" E# V5 g$ g6 m' r1 Z! F3 V  g) e
woaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码,手工复制或清理太费时间),谢谢。。
" i0 Y% O* T% v5 |6 I% @3 q+ e
6 \7 H0 a+ j8 l7 K看来大家和曾经的楼主一样,看到圆锥二次曲线就生威蹙眉。
* M3 @- r  Q5 G5 X$ h  O; G3 r6 i& u% h: r. ]5 ], |+ s# |0 ^
如果用尺寸约束与驱动,把椭圆约束到这些参数上也是可以的呀。8 _1 U6 j5 S) I! h  ?* Q

. \0 d! j5 O, s! ]; s0 ?谢谢woaishuijia版主的VBA与lsp,今后工作中我就用您的程序了。) r4 `6 B5 @+ j
4 ?; b0 W5 [+ L
为增加活跃一下的气氛,我还是稍后整理公布一下过程不是“很”复杂的几何作法吧。
发表于 2015-1-19 22:02:32 | 显示全部楼层
能给出长轴和短轴的公式吗?和水平角度的计算
发表于 2015-1-19 23:10:51 | 显示全部楼层
本帖最后由 woaishuijia 于 2015-1-19 23:25 编辑
& U3 o. e) H& z# i) N% M
gongwen0519 发表于 2015-1-19 20:45 http://www.3dportal.cn/discuz/static/image/common/back.gif8 Y3 f: r8 K( ]  e0 z% E
woaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码, ...
0 ]3 u. W3 f# Y' G

& g# b. [5 D) J) ? C3PE.rar (4.96 KB, 下载次数: 24)
 楼主| 发表于 2015-1-20 00:04:33 | 显示全部楼层
lisc2000 发表于 2015-1-19 22:02 static/image/common/back.gif3 m5 T; I8 b. @
能给出长轴和短轴的公式吗?和水平角度的计算
6 e# w$ x( y- x! M/ i
已经整理好一种几何解法:; N* F( N8 n& q! \, c

& i# x9 E% y3 ?7 r9 k0 ~前面的说明:0 {" W6 C' z! Q! {. u( ]
0 m3 r9 ]; h" ~
d001.png
( T& s+ G% {. w) y2 F
) A. |6 {$ \& S# E& n  A5 j作图过程:" b6 d. E  h% E* f5 T

/ P& T. d) [, y/ W+ k d002.png * m" t# d1 i- u. O" ^6 Q* J+ [
  y+ ~- y! E8 d6 q& e- G6 x9 p8 i; d
d003.png
7 s! s  Z! B2 p  s下图是OP的作法:
6 v6 V$ b7 A7 S d004.png
* z# e" X8 S. |8 R最后完成椭圆的长短半轴:0 ]9 B( o7 I: }$ c1 q

5 q' \' P! j5 c* u) V3 V d005.png
7 z0 @# O- [9 @+ v' }3 c5 S3 c2 }/ [
( i$ x- b8 Q1 w) @+ X( w' V+ |9 V. e( z) n" C4 L. G

评分

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

查看全部评分

 楼主| 发表于 2015-1-20 00:11:41 | 显示全部楼层
woaishuijia 发表于 2015-1-19 23:10 static/image/common/back.gif
) V/ ^( i' B0 `0 U7 L) |
谢谢,收藏了。
发表于 2015-1-20 13:46:59 | 显示全部楼层
学习了。     
发表于 2018-3-15 10:26:44 | 显示全部楼层
woaishuijia 发表于 2015-1-19 19:43& J- o* R5 x+ V% y
再来个LISP
/ f( P* O2 i! E' V7 d. z' f
这是什么?代码?用于CAD?

点评

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

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

点评

做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。  详情 回复 发表于 2018-3-16 05:11
发表于 2018-3-16 05:11:36 | 显示全部楼层
JCKFC1997 发表于 2018-3-15 20:02
' p+ L" a' s' HTOPSOLID 3 N2 B4 V# b& ^% |' f; `1 I
用中心点加圆上两点即可
! a2 ~. d) C' v' ?$ G( R+ S
做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。
发表于 2018-3-22 17:16:50 | 显示全部楼层
可以吼出来啊
; Q" O, y5 d! @1 q

可以

可以

点评

已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。 下图是根据相同的条件随便画的几个,自己看。  详情 回复 发表于 2018-3-27 00:41
发表于 2018-3-27 00:41:25 | 显示全部楼层
本帖最后由 woaishuijia 于 2018-3-27 00:42 编辑 9 F  p& M) M( Q
JCKFC1997 发表于 2018-3-22 17:16- D$ |2 a, X/ _- k
可以吼出来啊

1 ^4 t: Z! v9 u3 x2 k已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。, D. ]" h2 k- x5 H0 f, D5 P
下图是根据相同的条件随便画的几个,自己看。6 ~- t; z4 t: n: T4 x5 N6 m

. x: G/ L3 e& o/ C; p) ?  o! {; \
捕获.PNG
发表于 2018-11-11 09:32:10 | 显示全部楼层
下载个程序用用。
发表于 2018-12-3 09:59:14 | 显示全部楼层
woaishuijia 发表于 2015-1-19 12:32
8 h+ ?* ^' f1 z" j怎么没人回呢?
8 l3 c: `  G/ g1 x/ f/ v  R
请教一下版主,现在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) Q$ Q- Q1 ^* R: c3 O
请教一下版主,现在CAD编程方面,学习LISP和VBA各有什么优缺点?初学想学习编程,想询问一下版主学习哪个 ...

# h$ Y6 E9 q* J& I- t8 |简单说,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) A! Q1 c1 r* |1 D3 M7 w- ]* ^
简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面 ...

2 T- M  W" U* z& |! g) W* C% L好的,感谢版主大大。。。我初学了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/ f- B/ e' j5 F! m
好的,感谢版主大大。。。我初学了EXCEL的编程,感觉还可以,所以就想结合CAD编程,尝试在借助excel中的 ...
8 O# d: [5 b/ u5 {
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编程简直易如反掌。而且VBA的一大优势就是在支持VBA的软件之间交换数据,所以你说的“借助excel中的数据,自动完成在CAD中的绘图”就是自然而然的事。
发表于 2018-12-8 21:17:27 | 显示全部楼层
woaishuijia 发表于 2018-12-8 20:333 M8 }: w0 a/ {1 F- P
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...
0 ~- F4 a* @: X$ B
好的,感谢版主大大!给了我很大的信心!
发表于 2019-1-29 12:43:15 | 显示全部楼层
woaishuijia 发表于 2018-12-8 20:339 i( @9 `, r* v( P# c  y7 k7 I7 j
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...
. F% f2 w0 Y, A6 S+ b
老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻烦多了!没有录制宏,我该怎么学习CAD的VBA呢?

点评

把邮箱给我  详情 回复 发表于 2019-1-30 22:13
发表于 2019-1-30 22:13:09 | 显示全部楼层
kuangben8 发表于 2019-1-29 12:43+ }! S0 s# e6 R0 Q0 L8 `* U. b
老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻 ...
, ~, t+ T0 D3 K5 X9 m! H8 D
把邮箱给我
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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