QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 gongwen0519 于 2015-1-14 00:21 编辑 ; {" H3 r' q  J+ J. U
- m$ P; ~) S. H8 M4 l
本题是继这个http://www.3dportal.cn/discuz/fo ... ead&tid=1449246【作出最长值(不限软件)】帖子而来,该帖椭圆中心可知,同时也可以随便得到椭圆上的三点。
* L: K3 C% S# I% n6 O4 |9 t, a) ]2 H6 `* `6 t& v* W3 \) X, o
几何作图作出OX、OY的方向与长度即可,ACAD则画出整个椭圆:+ r9 o" O% L0 k, E$ r( L
2 Z# ]8 C7 |1 e, f9 k+ L
(这类问题在工程实际中很实用。)) w$ B/ H8 l1 t+ f" l

" l* F0 ~0 E. M# Z- F tuoyuan.png & B* B. L1 \8 ^/ @7 Y2 T

评分

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

查看全部评分

发表于 2015-1-19 12:32:28 | 显示全部楼层
怎么没人回呢?
  1. Sub C3PE()( Y' O' r3 ~( z% [) E
  2. Dim P0(2) As Double, P1 As Variant, P2 As Variant, P3 As Variant, P4 As Variant
    ! k* i; a2 V4 d* e% J6 \1 O
  3. Dim X1 As Double, Y1 As Double, X2 As Double, Y2 As Double, X3 As Double, Y3 As Double& B3 _0 P2 G3 }! i
  4. Dim A As Double, B As Double, C As Double, F As Double, Ang As Double, R1 As Double, R2 As Double
    * U" l# N' {5 S+ `3 {. H& N: a7 k
  5. On Error GoTo 10
    : Z& x. ^. Y4 m% _$ i$ d
  6. With ThisDrawing, ^( K- k& x1 h# n' |
  7. P1 = .Utility.GetPoint(, "指定中心点")
    ; ~# \$ n, w; s' d
  8. P2 = .Utility.GetPoint(, "指定第一点")
    + {+ N8 u3 `: T8 X; h
  9. P3 = .Utility.GetPoint(, "指定第二点")
    * v1 R+ I+ p. F# Z) W
  10. P4 = .Utility.GetPoint(, "指定第三点")
    ; B% x% f3 I) j. e" c0 \5 V; a( S$ _
  11. X1 = P2(0) - P1(0)
    $ b* |: O/ ~% a( G- A
  12. Y1 = P2(1) - P1(1)
    3 B! P% g. h9 e: b/ c) E' o
  13. X2 = P3(0) - P1(0)
    8 i+ I; T+ X3 v8 f1 d
  14. Y2 = P3(1) - P1(1), j* z9 k. r* G- q) N
  15. X3 = P4(0) - P1(0), }( g6 m8 A# w' f" M" C; y) H7 a
  16. Y3 = P4(1) - P1(1); I; E  c, `9 n6 q: s
  17. A = (X1 * Y1 - X2 * Y2) * (Y1 ^ 2 - Y3 ^ 2) - (X1 * Y1 - X3 * Y3) * (Y1 ^ 2 - Y2 ^ 2)% P! i2 u  K* P2 z
  18. If A <> 0 Then
    ' Z2 O3 B! }9 C% j% A4 d+ u$ e
  19. B = ((X1 ^ 2 - X2 ^ 2) * (X1 * Y1 - X3 * Y3) - (X1 ^ 2 - X3 ^ 2) * (X1 * Y1 - X2 * Y2)) / A5 C" _8 v) p) n! K" `
  20. C = ((X1 ^ 2 - X3 ^ 2) * (Y1 ^ 2 - Y2 ^ 2) - (X1 ^ 2 - X2 ^ 2) * (Y1 ^ 2 - Y3 ^ 2)) / A
    % u3 P$ Z! J. g1 C- F  B& c
  21. F = -X1 ^ 2 - B * Y1 ^ 2 - C * X1 * Y1  M, D! Z0 \% u/ t
  22. If C = 0 Then2 F& w. ~6 K0 K: S* i- y
  23. If B > 0 And F < 0 Then
    9 C4 ^; p! W7 {1 y# g, t7 R
  24. Ang = 0* ]4 e6 R+ j. Q. s* p. {0 d" \
  25. R1 = Sqr(-F)
    8 ?! {5 r( F+ g0 k. z! l
  26. R2 = Sqr(-F / B)1 \5 J. J, X' P8 }
  27. Else
    3 y- d" q4 `6 S$ E
  28. Exit Sub7 q9 T8 M# H- R* S' J, t5 W8 }
  29. End If
    4 O% k. a+ @1 v0 M( s
  30. Else9 I9 k! w$ t+ H' i1 o2 [2 Q, i( a( {
  31. If B = 1 Then
    ! w0 Q6 T8 B  o+ x+ b
  32. If F < 0 And C > -2 And C < 2 Then2 o% k. Y9 T- r
  33. Ang = .Utility.AngleToReal(45, acDegrees)" g3 d, n3 v6 V% d
  34. R1 = Sqr(-2 * F / (2 + C))2 B1 r- C, b3 h" {6 |* w
  35. R2 = Sqr(-2 * F / (2 - C))
    $ _, u$ |, `: M( }. t
  36. Else$ N* j7 _; s- G
  37. Exit Sub
    * N# c) ?1 V. V- h
  38. End If
    - H1 T& }, P5 ?% {; O; L- l  a8 p$ A
  39. Else$ s, A7 k. M1 r4 u$ t4 _
  40. Ang = Atn(C / (1 - B)) / 2
    " z6 C, l4 D. ^
  41. If Ang < 0 Then Ang = Ang + .Utility.AngleToReal(90, acDegrees)2 k, s- `# y/ c, 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 _
    # ~! {  e& f: p! E- |
  43. B < -1 And F > 0 And C > (B + Tan(Ang) ^ 2) / Tan(Ang) And C < -(1 + B * Tan(Ang) ^ 2) / Tan(Ang) Then% W3 L* a! M6 W; `
  44. R2 = -F * (1 + Tan(Ang) ^ 2)7 L1 B7 r& U1 o% c3 J: k6 I( ]
  45. R1 = Sqr(R2 / (1 + B * Tan(Ang) ^ 2 + C * Tan(Ang)))) p  `" ~+ I& g! B  w- }
  46. R2 = Sqr(R2 / (B + Tan(Ang) ^ 2 - C * Tan(Ang)))- z3 Z1 j8 G4 z! O( |% J
  47. Else( @. `: @9 @6 w
  48. Exit Sub
    0 E& t0 ]. [8 p5 a  C; O* K' g7 t
  49. End If$ i' @4 j1 V1 ?/ b3 O4 N
  50. End If
    4 z& T+ e- m& D6 Q' H
  51. End If
    & |: D2 c) |* z) \
  52. Else$ \6 p9 m/ |1 T" V, X$ d
  53. Exit Sub
    1 w3 k( y) j& M
  54. End If
    / S* P4 P& Q+ l  }
  55. If R2 < R1 Then2 G! A* B! B  v+ Y; E) d: |3 K
  56. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang, R1), R2 / R1# ]' W! m; t8 \
  57. Else! Q4 i+ R; T! J- F5 j$ G
  58. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang + .Utility.AngleToReal(90, acDegrees), R2), R1 / R2
    7 T5 R' L; w& z1 n( \! y
  59. End If
    / `; L# `+ M# d% K
  60. End With. {1 A9 D- z# L0 Q: O+ l9 G
  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 编辑
/ g7 V0 c* I/ k7 k' k' ~7 }- X+ }7 F7 i" @) \) l
再来个LISP
  1. (defun c:c3pe7 c6 P. E: }: Z
  2.        (/ old p0 p1 p2 p3 p4 x1 y1 x2 y2 x3 y3 a b c f ang r1 r2)" T8 W" [8 q8 f5 \7 v" {
  3.   (setvar "CMDECHO" 0)
    7 _0 K7 m$ ~" T8 G+ T  C
  4.   (setq p0 (list 0 0 0)
    ; l0 Y9 Q6 S( u5 b0 A* p! n0 H. N
  5. p1 (getpoint "\n 指定中心点:"): H- W- A# |8 v5 G/ {- t( E4 L! k
  6. p2 (getpoint "\n 指定第一点:")  ^) v" t6 x8 U! x
  7. p3 (getpoint "\n 指定第二点:")1 }% H9 S5 r) G# H
  8. p4 (getpoint "\n 指定第三点:")
    0 l, s! y$ D% x2 N% W& d
  9. a  (car p1)' D3 e. }4 ^7 ~( z( S- a8 s
  10. b  (cadr p1)
    $ v6 L  y- u# p! t" E2 {6 ~& ?, _
  11. x1 (- (car p2) a)+ u) e5 k: m& v* H6 p/ j7 |# H8 Z
  12. y1 (- (cadr p2) b)) [5 c& j) g3 `: n/ }
  13. x2 (- (car p3) a)
    ( G" I5 ]. S" v! \
  14. y2 (- (cadr p3) b)
    " S! D' \) f  V: d. r3 b) ~
  15. x3 (- (car p4) a)
    2 [% J/ _7 q. K$ c& k- V4 ~
  16. y3 (- (cadr p4) b). U. H9 f% i- T$ h- q4 f& c6 j8 n* z
  17. a  (- (* (- (* x1 y1) (* x2 y2)) (- (* y1 y1) (* y3 y3)))
    3 X+ j$ r% l3 T8 s, w
  18.        (* (- (* x1 y1) (* x3 y3)) (- (* y1 y1) (* y2 y2)))$ E) V- o0 y& y7 ~. Q
  19.     )
    . n% b- @8 q, c5 T% o
  20.   )
    : ]4 U7 s: R* \) ^8 l
  21.   (if (/= a 0.0)0 i+ f; e/ u5 N$ o1 B
  22.     (progn
    ! S' s) S9 z% h. h, ]8 {( [
  23.       (setq b (/ (- (* (- (* x1 x1) (* x2 x2)) (- (* x1 y1) (* x3 y3)))
    " Z- `4 g1 b* Q: p: W' B. m
  24.       (* (- (* x1 x1) (* x3 x3)) (- (* x1 y1) (* x2 y2)))
    + \' o- }. C- M/ \; N  w7 X8 V
  25.    )
    " O: G- V. f% L7 i
  26.    a% o( b) }9 ^, w; ]+ n+ q
  27.        )  j' n2 E2 U1 y2 Y; f" |
  28.      c (/ (- (* (- (* x1 x1) (* x3 x3)) (- (* y1 y1) (* y2 y2)))
    * e" S; T1 A1 D4 T
  29.       (* (- (* x1 x1) (* x2 x2)) (- (* y1 y1) (* y3 y3)))
    : W+ C' Q4 M8 g1 {1 t
  30.    )
    " ~. N7 I+ h+ O7 R9 x" L
  31.    a6 Z3 k, ^1 J. f# W$ d5 z+ o: t
  32.        )
      X4 y. M( r, Z8 C+ i' [) [
  33.      f (- 0 (* x1 x1) (* b y1 y1) (* c x1 y1))6 [0 ^2 _2 h: {$ e
  34.       )
    : u# _! O: j2 E7 Z
  35.       (if (zerop c)
    6 o8 T5 C5 P/ Z% G" I+ l& @  P& I
  36. (if (and (> b 0.0) (< f 0.0))
    6 }9 e3 _# j; J$ q& L, K% M3 |" }
  37.    (setq ang 0.0  H. ^+ C! L2 p; T, t
  38.   r1  (sqrt (- 0 f))- e* M) \* `% m( X# d0 A
  39.   r2  (sqrt (- 0 (/ f b))), t  p8 T% n1 O
  40.    )
    & ]/ F3 O) E4 w2 n9 c5 y2 Y
  41. )
    % |. r4 u; k( F' u% a/ G
  42. (progn
    / x" i* K% `% t
  43.    (if (= b 1.0)
    / d/ m* A; p1 d  W9 ?
  44.      (if (and (< f 0.0) (> c -2.0) (< c 2.0))0 V9 E# N# b) T9 b
  45.        (setq ang (/ pi 4)
    9 ?3 G0 @+ M3 `* f. n, R
  46.       r1 (sqrt (* -2 (/ f (+ 2 c))))
    & g& D7 W: Y9 K2 i& j
  47.       r2 (sqrt (* -2 (/ f (- 2 c))))+ I7 g# S" U; G; V' @8 f
  48.        )6 }0 Y/ M" ~  c" s! l
  49.      )2 D' t& p8 X  ~
  50.      (progn
    ; \; }+ d' ~; r7 f+ i
  51.        (setq ang (/ (atan (/ c (- 1 b)))
    - w' g9 l, d, L/ R  s6 Z' F
  52.       2% \5 Q( k/ Q, ~
  53.    )0 T5 N' v3 D% b% C
  54.        )
    + L5 _( G( A/ x6 p1 @6 |
  55.        (if (< ang 0.0)
    2 W1 J9 X/ n1 j5 E0 @0 i/ e
  56.   (setq ang (+ ang (/ pi 2)))) H( F& W( `, Y; F6 z1 f( L
  57.        )
    ) [% r- |3 p1 S' _
  58.        (setq a (/ (sin ang) (cos ang)))3 f) w2 U! z& ]0 Q+ J- m: d3 X' \
  59.        (if (or (and (> b -1.0)
    7 H& m$ K3 V3 z2 D* N
  60.       (< f 0.0)# q4 b* g* Y" j- A, J2 {  Q% a
  61.       (> c (/ (- -1.0 (* b (* a a))) a))
      o7 e. r, O: v  }+ ~5 O
  62.       (< c (/ (+ b (* a a)) a))
    % o0 A2 o' R* ^  I) P* y: a
  63.         )# K( D# r9 L; }
  64.         (and (< b -1.0)
    # }: Q( G- V7 C. B* G
  65.       (> f 0.0)
    1 a' Z1 y/ [  [* y
  66.       (> c (/ (+ b (* a a)) a))
    4 F& O. |4 }2 C3 w% c' |
  67.       (< c (/ (- -1.0 (* b (* a a))) a))" D5 |  L- U! @" |
  68.         )5 V6 j' ^% x$ ?7 \8 H
  69.     )
    # ]2 w+ q0 O4 J+ _
  70.   (setq r2 (* -1 f (1+ (* a a)))
    0 w2 F4 n( u4 J' f7 b, ?
  71.         r1 (sqrt (/ r2 (+ 1 (* b a a) (* c a))))4 d5 J) {4 @, [7 m
  72.         r2 (sqrt (/ r2 (- (+ b (* a a)) (* c a))))$ `. G  D! g7 B% Y! j8 h3 P" H
  73.   )1 w6 D8 [2 d* u% E+ L
  74.        ); T9 T9 y* Z' R; W4 @0 d$ b& T
  75.      )
    . f. s& u( }0 E& w0 |9 H
  76.    )
    ( o) x- Z7 g2 R7 \
  77. )
    : N5 D: m/ Q: g# e( _0 Q( Y
  78.       )0 R0 p& f5 J, e" X: a. C) x; H" N8 V; d
  79.     )
    4 h3 P6 g( i% w2 s# S& x+ {3 @
  80.   )
    $ j" X: v9 u$ j, X; p
  81.   (if r13 ]/ y5 H- U5 \/ X' o' T- H  s0 D
  82.     (progn5 Q+ H# o0 S7 i& E+ @# R; ^$ |$ A8 A5 k
  83.       (setq old (getvar "OSMODE"))2 z' B, s/ z* I) y' N0 ]
  84.       (setvar "OSMODE" 0)
    ' w+ I- H5 g6 b9 h
  85.       (command "ellipse"
      V: \& C4 @7 o+ t: n( D
  86.         "c"
    1 P3 d1 U; N: J3 n9 O
  87.         p1
    8 Z/ R' i1 }) Y# A+ H
  88.         (polar p1 ang r1)
    1 q( ]9 P* y. b7 W+ g" m
  89.         r2' ?1 s& U/ ~, a6 g
  90.       )  ^) v6 W6 q9 V1 t
  91.       (setvar "OSMODE" old)
      D0 j: A& E$ A" _3 [+ k
  92.     )* t$ a+ l( Z; ^2 |' D( V
  93.   )
    , \* @1 F8 m4 I- w9 f) L
  94.   (princ)
    0 Q6 X* o) P4 P; f- 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
6 l- J6 f7 j* i: ?% b8 w, l已知椭圆的中心点,将3点代入椭圆的一般方程,用解析几何的方法计算即可。

. }1 @3 G! i; t可以不解方程,有纯几何方法解的(指能作出椭圆的长短轴的方向与长度)。
 楼主| 发表于 2015-1-19 20:45:01 | 显示全部楼层
本帖最后由 gongwen0519 于 2015-1-19 20:55 编辑 # P. d0 l4 X6 Y" k) V
woaishuijia 发表于 2015-1-19 19:43 static/image/common/back.gif
9 L1 l9 J* S* p7 b/ f再来个LISP
- t- H) @3 A. R5 ^
  Y+ f# J; @4 S) f0 m4 H7 W
woaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码,手工复制或清理太费时间),谢谢。。
, W- q7 ~- c! d( Y; v. H8 Q4 O& R. _7 e! h4 i: C1 S9 [% r0 p+ t: E
看来大家和曾经的楼主一样,看到圆锥二次曲线就生威蹙眉。3 k" j/ t7 b/ t$ Z7 _* r5 o  T
, b' S6 R- j) E; W
如果用尺寸约束与驱动,把椭圆约束到这些参数上也是可以的呀。
& ]  ?" D5 x  \% d& L- L8 }, ~+ j  \' ^6 V% f# ?5 p
谢谢woaishuijia版主的VBA与lsp,今后工作中我就用您的程序了。: G  v& I% A0 O

5 @6 r/ z2 g5 e为增加活跃一下的气氛,我还是稍后整理公布一下过程不是“很”复杂的几何作法吧。
发表于 2015-1-19 22:02:32 | 显示全部楼层
能给出长轴和短轴的公式吗?和水平角度的计算
发表于 2015-1-19 23:10:51 | 显示全部楼层
本帖最后由 woaishuijia 于 2015-1-19 23:25 编辑
5 p) l9 J) c! B5 w2 P. M, w
gongwen0519 发表于 2015-1-19 20:45 http://www.3dportal.cn/discuz/static/image/common/back.gif, C- u+ M0 x* M
woaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码, ...

7 D" r4 T, z: {9 Z( T7 @: ?: a+ H% O) C) ^, ^' p7 @1 z' k
C3PE.rar (4.96 KB, 下载次数: 24)
 楼主| 发表于 2015-1-20 00:04:33 | 显示全部楼层
lisc2000 发表于 2015-1-19 22:02 static/image/common/back.gif
; G* ]* a3 V7 P3 t0 F% N7 P能给出长轴和短轴的公式吗?和水平角度的计算
0 g5 }, [  c& ]1 w
已经整理好一种几何解法:
/ o5 D" W  M0 o) i6 ~8 p: ^3 d7 i9 G+ m# R( [
前面的说明:
% M7 S+ y0 y/ X/ d* p" w/ v: J0 i' q- H
d001.png ! N$ V6 Q8 l8 E  H
+ ~5 k4 A- u$ x8 ]
作图过程:
, }) `* {1 W/ E& i7 A' C0 N, b; `9 h6 {; f, q6 O, M
d002.png $ l- m! ~: W, s: ^  p

1 W% Y8 ^) @/ V. P- p( v/ `( g d003.png
7 c: `: f3 Z% c% X! g6 G: d下图是OP的作法:/ H! B, ?2 ]  H0 k- U. x9 d  }
d004.png " J& Q$ _. p- b2 m+ y
最后完成椭圆的长短半轴:# G/ w7 `9 s" M1 R/ Z

  C3 }+ V& V6 B$ n' F; e# T d005.png $ U' Q) f9 ^: e

5 P2 r1 A/ o4 q3 O+ N  i, t" k; u1 ?4 T' p2 i+ \% L

评分

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

查看全部评分

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

" O1 P- a/ E0 y  ?& l谢谢,收藏了。
发表于 2015-1-20 13:46:59 | 显示全部楼层
学习了。     
发表于 2018-3-15 10:26:44 | 显示全部楼层
woaishuijia 发表于 2015-1-19 19:434 o4 b$ ?$ O! `8 T
再来个LISP
8 p" I; V- w; F( L% B6 ]8 }
这是什么?代码?用于CAD?

点评

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

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

点评

做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。  详情 回复 发表于 2018-3-16 05:11
发表于 2018-3-16 05:11:36 | 显示全部楼层
JCKFC1997 发表于 2018-3-15 20:02
3 k0 c! z  M! M8 a1 ZTOPSOLID 3 m8 F, }3 @9 p$ Z; V
用中心点加圆上两点即可

; V4 Q9 v, l) u+ h做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。
发表于 2018-3-22 17:16:50 | 显示全部楼层
可以吼出来啊3 o- O/ {6 J( h" l4 x/ u  {

可以

可以

点评

已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。 下图是根据相同的条件随便画的几个,自己看。  详情 回复 发表于 2018-3-27 00:41
发表于 2018-3-27 00:41:25 | 显示全部楼层
本帖最后由 woaishuijia 于 2018-3-27 00:42 编辑 8 G( e3 H5 A, }; k% s# m7 R4 l. t
JCKFC1997 发表于 2018-3-22 17:16
* ]3 s, G# I5 W% t& r可以吼出来啊
: N% z# J! E  J5 S" c0 {
已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。
; S4 P% ^* Z" l' t/ S下图是根据相同的条件随便画的几个,自己看。5 \# Z1 O% E, t0 W! W
3 T0 g6 k4 j' N* a) I
捕获.PNG
发表于 2018-11-11 09:32:10 | 显示全部楼层
下载个程序用用。
发表于 2018-12-3 09:59:14 | 显示全部楼层
woaishuijia 发表于 2015-1-19 12:327 Z1 A3 D6 U- K# @/ M9 j3 ~) ?
怎么没人回呢?
* q6 x& [# f& x" Z/ O: V7 P7 t2 z
请教一下版主,现在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
, s3 r: f9 d! ], R) g6 [请教一下版主,现在CAD编程方面,学习LISP和VBA各有什么优缺点?初学想学习编程,想询问一下版主学习哪个 ...

7 M8 e# q4 C( m  |# |4 X简单说,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
# f9 h/ k) a4 q; i" x简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面 ...

5 p# x, v8 P1 E8 k) y好的,感谢版主大大。。。我初学了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) {7 G! n) K. g- @3 ?
好的,感谢版主大大。。。我初学了EXCEL的编程,感觉还可以,所以就想结合CAD编程,尝试在借助excel中的 ...

' }- u: c5 t/ |+ O- F' ^EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编程简直易如反掌。而且VBA的一大优势就是在支持VBA的软件之间交换数据,所以你说的“借助excel中的数据,自动完成在CAD中的绘图”就是自然而然的事。
发表于 2018-12-8 21:17:27 | 显示全部楼层
woaishuijia 发表于 2018-12-8 20:33
- X6 S0 u' H7 A" I" OEXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...
8 \/ _$ L& }$ I* p
好的,感谢版主大大!给了我很大的信心!
发表于 2019-1-29 12:43:15 | 显示全部楼层
woaishuijia 发表于 2018-12-8 20:33
) U: Y6 w, A& B2 ^: DEXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...
" D6 ?# M/ q3 w( _% v
老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻烦多了!没有录制宏,我该怎么学习CAD的VBA呢?
发表于 2019-1-30 22:13:09 | 显示全部楼层
kuangben8 发表于 2019-1-29 12:43& e/ G" o! l1 }: ?+ @
老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻 ...
1 V% r4 ^: r8 u4 ~! i
把邮箱给我
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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