QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
6天前
查看: 7169|回复: 32
收起左侧

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

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

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

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

x
本帖最后由 gongwen0519 于 2015-1-14 00:21 编辑
4 z1 P( J( c" S; T! U. o$ B$ w
3 h! G% u' M. ]: v( k* z! @本题是继这个http://www.3dportal.cn/discuz/fo ... ead&tid=1449246【作出最长值(不限软件)】帖子而来,该帖椭圆中心可知,同时也可以随便得到椭圆上的三点。
$ q9 }5 l8 ^9 b+ Q. j3 r- C. {/ E! p) U# z# s) M% G* C
几何作图作出OX、OY的方向与长度即可,ACAD则画出整个椭圆:6 J' W, O. V, M0 R

, U' {5 u' S/ D  L, v9 a, Y(这类问题在工程实际中很实用。)
8 M6 ^0 D/ G3 l: B0 h. a
7 x* o0 m& P5 C1 {1 O+ @& }3 { tuoyuan.png   y: j3 O! T$ E; k+ c9 D5 [2 Z

评分

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

查看全部评分

发表于 2015-1-19 12:32:28 | 显示全部楼层 来自: 中国辽宁抚顺
怎么没人回呢?
  1. Sub C3PE()1 ]/ \: ^$ k" v; \
  2. Dim P0(2) As Double, P1 As Variant, P2 As Variant, P3 As Variant, P4 As Variant1 v; g; \3 p" t; K
  3. Dim X1 As Double, Y1 As Double, X2 As Double, Y2 As Double, X3 As Double, Y3 As Double6 R* y: ^0 B$ U+ S7 E' h
  4. Dim A As Double, B As Double, C As Double, F As Double, Ang As Double, R1 As Double, R2 As Double/ D2 K1 p" Y7 }' a' u
  5. On Error GoTo 104 }2 U! w3 \; n& w2 J5 k6 A0 x
  6. With ThisDrawing
      h+ }3 R' s9 k5 H
  7. P1 = .Utility.GetPoint(, "指定中心点")
    ) \+ J/ e) N* v: a6 _3 R" R, E& e
  8. P2 = .Utility.GetPoint(, "指定第一点")) t1 W. B# N2 U4 U, T% y5 F7 I
  9. P3 = .Utility.GetPoint(, "指定第二点")
    - f; X/ q. H' l" `- E! L4 R
  10. P4 = .Utility.GetPoint(, "指定第三点")3 h7 |( J  M6 K
  11. X1 = P2(0) - P1(0)
    ' ^; r% z2 l- ^' O1 j
  12. Y1 = P2(1) - P1(1)
    " N5 G! u+ v0 D5 x6 m
  13. X2 = P3(0) - P1(0)" {6 k4 {( K! F% W0 e1 v1 q
  14. Y2 = P3(1) - P1(1)" S5 F! S  [1 x  i8 }! s
  15. X3 = P4(0) - P1(0)
    7 ~+ J- E* E. e: u; p- ^
  16. Y3 = P4(1) - P1(1)
    2 O& C5 o! u" E1 J2 J
  17. A = (X1 * Y1 - X2 * Y2) * (Y1 ^ 2 - Y3 ^ 2) - (X1 * Y1 - X3 * Y3) * (Y1 ^ 2 - Y2 ^ 2)  k% V  r/ b5 G' ?& b: ^( K
  18. If A <> 0 Then
    8 U/ B! [9 ?; e7 a
  19. B = ((X1 ^ 2 - X2 ^ 2) * (X1 * Y1 - X3 * Y3) - (X1 ^ 2 - X3 ^ 2) * (X1 * Y1 - X2 * Y2)) / A. Z8 r! {2 K' _
  20. C = ((X1 ^ 2 - X3 ^ 2) * (Y1 ^ 2 - Y2 ^ 2) - (X1 ^ 2 - X2 ^ 2) * (Y1 ^ 2 - Y3 ^ 2)) / A
    " }" H1 }1 g2 O- S+ C
  21. F = -X1 ^ 2 - B * Y1 ^ 2 - C * X1 * Y1
    0 @7 h' m- U. w" @0 `' [2 N( |& M
  22. If C = 0 Then* B9 r# E5 K+ s+ A
  23. If B > 0 And F < 0 Then
    5 |. a, Z1 ~/ y4 l: A; U4 j
  24. Ang = 06 S; L/ {8 m# Q3 B9 [
  25. R1 = Sqr(-F)
    % o1 k/ W* ?+ ^& P+ q2 G
  26. R2 = Sqr(-F / B)6 z/ b: ]9 G& N7 I5 x( G
  27. Else
    1 A( ~/ x$ `+ j  K* t# g, R0 I
  28. Exit Sub" Y' a6 y! T' z- Z% [; r$ g- N: V
  29. End If
    ( [: t% v7 z" h' [
  30. Else
    0 s5 |/ Z1 {  P) {
  31. If B = 1 Then
    6 @' l0 y- R% y( r1 G$ u0 A) W
  32. If F < 0 And C > -2 And C < 2 Then
      R9 d2 w% D) u+ Y; n! I; ?
  33. Ang = .Utility.AngleToReal(45, acDegrees)1 J1 J* Q0 }1 F/ h3 W9 x+ h
  34. R1 = Sqr(-2 * F / (2 + C))+ S5 b& Y# ^4 z, d  W" Q
  35. R2 = Sqr(-2 * F / (2 - C))
    1 H3 \) `' A6 V4 |' U0 r
  36. Else
    2 V; N! G* {, _( J( c
  37. Exit Sub
    2 X# A# `# i5 R! F: {
  38. End If
    9 z+ I, _3 E; b" Q$ }& q9 g
  39. Else! }" V0 g1 K+ Z& ~9 r* M" `% _
  40. Ang = Atn(C / (1 - B)) / 2) a  [8 p! D+ H  Y
  41. If Ang < 0 Then Ang = Ang + .Utility.AngleToReal(90, acDegrees)
    4 |  A$ K' C: Y2 ^  T0 n
  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 _
    0 `7 G6 Q# `3 `2 l; t  i
  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( [  P. w& s) C6 L8 ^
  44. R2 = -F * (1 + Tan(Ang) ^ 2)! E5 e* @& G( h  z7 M
  45. R1 = Sqr(R2 / (1 + B * Tan(Ang) ^ 2 + C * Tan(Ang)))" @0 K/ D/ {: J# E# U; ]
  46. R2 = Sqr(R2 / (B + Tan(Ang) ^ 2 - C * Tan(Ang)))# Y2 \% D. K% c8 W3 \3 u; U/ Z) W* I
  47. Else
    + [$ D# D1 u, m* l' s1 j* u" S
  48. Exit Sub
    / V; j  I. @; c) J
  49. End If; K0 S/ |! q! l4 R$ c% F4 S
  50. End If2 W" j  @! s; o' a- S  V) c& y
  51. End If7 v' v5 B6 _- b1 K6 W; T0 j
  52. Else
    % k$ C( e* V" j; r$ A
  53. Exit Sub$ H" Z- m! Y; N+ u8 M
  54. End If
    6 U% C) |. F/ ?5 u' Y- E' O  `
  55. If R2 < R1 Then
    & c5 k' h* M0 p5 H+ u
  56. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang, R1), R2 / R1
    ; |. P  V2 S2 I6 o0 b5 X
  57. Else; H9 b+ ~* T/ u! q
  58. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang + .Utility.AngleToReal(90, acDegrees), R2), R1 / R27 P" c7 N, ?+ U  a- ^
  59. End If9 r, s' w) o& g8 k
  60. End With% `4 i  k. z; I6 ~1 q
  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 编辑 ; C3 I9 n7 A% S

  H5 x  l+ a+ t2 N% M- c0 |再来个LISP
  1. (defun c:c3pe
    - A3 O6 |! N6 w( X  L
  2.        (/ old p0 p1 p2 p3 p4 x1 y1 x2 y2 x3 y3 a b c f ang r1 r2)  X1 |. n0 m0 z6 k
  3.   (setvar "CMDECHO" 0)- y5 Q* t7 ]  D" V6 t6 Z4 O# B6 \) |6 ]
  4.   (setq p0 (list 0 0 0): R; _) w8 {1 r
  5. p1 (getpoint "\n 指定中心点:")3 ?2 V: `3 W) [& y3 [
  6. p2 (getpoint "\n 指定第一点:")$ N% q+ h4 R) [, K# P0 q4 Y) ~
  7. p3 (getpoint "\n 指定第二点:")+ b4 d4 P% J( ]  Z7 `- j+ M
  8. p4 (getpoint "\n 指定第三点:")" @5 e+ C" Y2 V' \* m
  9. a  (car p1)
    3 }# U9 X& U& F( z& @
  10. b  (cadr p1)8 \1 @6 ^2 L0 b; H& h9 d
  11. x1 (- (car p2) a)' h+ W( T9 M) G) I1 \5 P
  12. y1 (- (cadr p2) b)# O$ g" i/ d- x; G0 i" w0 z3 x
  13. x2 (- (car p3) a)0 {( a2 p: q6 I; X$ a4 x2 j- E1 S
  14. y2 (- (cadr p3) b)
    8 e" ]8 B7 z& b; u
  15. x3 (- (car p4) a)
    ( c9 ~& B+ n6 w
  16. y3 (- (cadr p4) b)) `9 b6 z) K7 v0 w
  17. a  (- (* (- (* x1 y1) (* x2 y2)) (- (* y1 y1) (* y3 y3)))2 P6 T$ b) h5 |8 ]( o
  18.        (* (- (* x1 y1) (* x3 y3)) (- (* y1 y1) (* y2 y2)))
    ! Z" i! J* \1 D/ A$ a3 i" k
  19.     )1 P2 ^1 u' D  l7 ]( h- T
  20.   )
    : K9 e- k( E; m: j
  21.   (if (/= a 0.0)
    ' i. U. \/ M1 h% q. n
  22.     (progn1 ?  M3 h" C/ Q' d& P9 S) D' Y1 y
  23.       (setq b (/ (- (* (- (* x1 x1) (* x2 x2)) (- (* x1 y1) (* x3 y3)))
    + \1 n! H4 n9 }! K. k' B
  24.       (* (- (* x1 x1) (* x3 x3)) (- (* x1 y1) (* x2 y2)))5 W- d" |* v1 {4 m) |. n5 \
  25.    )) `! x6 W) K7 U" E  k+ ^7 _
  26.    a
    + S6 W1 t1 j# ?8 Y" c. P
  27.        )
    * N2 b, [8 e4 t0 ~; q0 j; O6 r; o2 `
  28.      c (/ (- (* (- (* x1 x1) (* x3 x3)) (- (* y1 y1) (* y2 y2)))1 D# Y) b: R; u$ y5 c. k; g
  29.       (* (- (* x1 x1) (* x2 x2)) (- (* y1 y1) (* y3 y3))); k5 W& \) H3 B5 i8 J& r) D# R
  30.    )
      Y  n3 ?( n7 A" T" S2 P: I
  31.    a
    ) k4 j4 X4 i& Z+ j1 f: O! r
  32.        )7 Y0 O  V% w) P4 u# K& d( ]" v: ^
  33.      f (- 0 (* x1 x1) (* b y1 y1) (* c x1 y1))
    % O0 w; V2 N" P! ^: x) O( E
  34.       )) M& z! z) n# I* y' |) Z7 u: D
  35.       (if (zerop c)! T( L7 B5 J) ?, \& ~6 N* O
  36. (if (and (> b 0.0) (< f 0.0))2 j5 R: D2 U: [8 W/ H3 e
  37.    (setq ang 0.0
    0 _8 }$ i+ _! X' X: _9 w
  38.   r1  (sqrt (- 0 f))
    ) i) L# S+ v! U
  39.   r2  (sqrt (- 0 (/ f b)))
    ! b; `/ `8 p5 y5 S' V' V" n" c: ^
  40.    )5 ^* ]$ c" |7 P
  41. )* V6 D* q9 m. g
  42. (progn; I3 S3 L0 u- |4 T5 s: V% p
  43.    (if (= b 1.0)% e# G* \) x% G4 T! o
  44.      (if (and (< f 0.0) (> c -2.0) (< c 2.0))6 w, {: ~- n6 [$ ^& u! f' f
  45.        (setq ang (/ pi 4)& ?$ f' V$ D  J8 @
  46.       r1 (sqrt (* -2 (/ f (+ 2 c))))
    + B& R- [7 ?3 V2 i7 K  W( {
  47.       r2 (sqrt (* -2 (/ f (- 2 c))))8 B( X  `" h9 d% N0 C# A& ^
  48.        )# d8 B9 F8 u* u. Y  t( h' x
  49.      )
    . O; g3 I; w& K% _
  50.      (progn) m% r7 x! L! V2 p7 Y' j
  51.        (setq ang (/ (atan (/ c (- 1 b)))
    / E! A& g0 L3 [) s
  52.       2
    * {/ r$ O6 K1 Q9 G) f0 X
  53.    )
    5 Q3 N7 P9 o6 n: a: Y$ e1 A
  54.        )
    9 Y" x( i' k: \, A0 _
  55.        (if (< ang 0.0)! Z1 r, q; D" k% O; Q( f( Y1 L
  56.   (setq ang (+ ang (/ pi 2))): y1 }' O( ]/ F) M4 q
  57.        )
    $ k9 y' [% b+ p1 I
  58.        (setq a (/ (sin ang) (cos ang))). v' m) d$ m, M7 f5 `; _3 M
  59.        (if (or (and (> b -1.0)
    + \9 ]$ z% ?: T+ i" i
  60.       (< f 0.0)
    5 s# ~# f2 F4 Q# |
  61.       (> c (/ (- -1.0 (* b (* a a))) a))7 L- E- n: H, J) Q# j
  62.       (< c (/ (+ b (* a a)) a))2 q6 y6 v2 @2 L8 Z/ D
  63.         )
    ; k, N9 u) z; p: w3 B! q
  64.         (and (< b -1.0)
    % ?7 {4 l# o; o7 D- E
  65.       (> f 0.0)) e) f1 @, A7 M2 M
  66.       (> c (/ (+ b (* a a)) a))
    * e* Y) J5 O) I$ e# P- U
  67.       (< c (/ (- -1.0 (* b (* a a))) a))
    ) B6 z) [0 a7 a% f5 p/ {, C* {7 c* p) S
  68.         )
    - q; e; D  U5 @' R
  69.     )
      Z3 ^. w5 G3 R# S$ A
  70.   (setq r2 (* -1 f (1+ (* a a)))- g7 c7 R+ n2 c+ ~1 R: i3 Z8 o' K
  71.         r1 (sqrt (/ r2 (+ 1 (* b a a) (* c a))))
    . r( ?2 `% K; }" c- d
  72.         r2 (sqrt (/ r2 (- (+ b (* a a)) (* c a))))
    4 e2 A, C- h! W4 Y  z
  73.   )$ v) l/ ^- k- I& m
  74.        )1 v+ N: C2 r: r1 r) H% R1 n
  75.      )
    8 Q6 b) s. k% y% |. {' m5 ^
  76.    )
    : U$ q- c; r3 c' c3 `- @0 @* L
  77. )% w$ n7 C) `- |+ A
  78.       )
    ( g# _* ^! d- X
  79.     )
    ) w  T/ Q( m9 k
  80.   )" g1 A5 }  G! W' j$ j; e* e
  81.   (if r1
    - v6 K1 F1 X2 X  c- T& n
  82.     (progn4 v) y7 }: E- t/ ?$ K  {# N
  83.       (setq old (getvar "OSMODE"))
    ; U- i/ h2 r8 a1 g/ s1 B
  84.       (setvar "OSMODE" 0)) U4 \# i$ ]) A- q0 ]1 P+ D+ P& d
  85.       (command "ellipse"
    - p0 ~0 \) |6 b& k! l
  86.         "c"
    5 B# j) ^1 O9 O
  87.         p15 l- y* q: H; e0 y
  88.         (polar p1 ang r1)9 l0 ^1 C- \2 x& ]& O
  89.         r22 D9 A8 k; Z) C
  90.       )
    $ H$ q" Q( f# u
  91.       (setvar "OSMODE" old)
    0 o) j" g/ O' C( b/ @1 f0 e: F
  92.     )
    2 i$ G! [; z: ~+ C& ?
  93.   )
    + ]4 O: J- w& }! }9 k
  94.   (princ): ~+ K, }8 s3 D
  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
. f& f# B" ]( D( E已知椭圆的中心点,将3点代入椭圆的一般方程,用解析几何的方法计算即可。

& N; R# W4 d, W3 W2 m1 g1 w9 ^可以不解方程,有纯几何方法解的(指能作出椭圆的长短轴的方向与长度)。
 楼主| 发表于 2015-1-19 20:45:01 | 显示全部楼层 来自: 中国北京
本帖最后由 gongwen0519 于 2015-1-19 20:55 编辑
$ M$ l7 m# z  p: T. n) h. l
woaishuijia 发表于 2015-1-19 19:43 static/image/common/back.gif
- R% G% J: |; i* K, {5 I+ |再来个LISP

+ ^. Q3 {- G) a4 [) ?
; r6 M( \5 T1 G6 jwoaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码,手工复制或清理太费时间),谢谢。。
% \/ Q" L0 d! P- Y
& w* X+ h/ {6 F* K# b: i# Y看来大家和曾经的楼主一样,看到圆锥二次曲线就生威蹙眉。
/ J% f5 b, w- Y% i
- d+ f+ z/ e3 p4 {4 }! P8 _) ^$ X如果用尺寸约束与驱动,把椭圆约束到这些参数上也是可以的呀。& q) x+ d. ?4 s. q* G

+ d- g3 g) h  g9 Q+ U2 U6 N谢谢woaishuijia版主的VBA与lsp,今后工作中我就用您的程序了。1 D1 z7 r# C, d- g; N' u
# K* ?$ T6 ^3 A3 g/ [7 Y
为增加活跃一下的气氛,我还是稍后整理公布一下过程不是“很”复杂的几何作法吧。
发表于 2015-1-19 22:02:32 | 显示全部楼层 来自: 中国辽宁大连
能给出长轴和短轴的公式吗?和水平角度的计算
发表于 2015-1-19 23:10:51 | 显示全部楼层 来自: 中国辽宁营口
本帖最后由 woaishuijia 于 2015-1-19 23:25 编辑
$ x7 U' w' R1 r% c% U  J. i  H
gongwen0519 发表于 2015-1-19 20:45 http://www.3dportal.cn/discuz/static/image/common/back.gif/ O, b" F2 y% A0 `. L5 q  I+ J: `! l  y
woaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码, ...

6 d# f) O3 C4 Z. l+ G- N- z' F4 D, {1 v( H# F* H- C6 Q. _
C3PE.rar (4.96 KB, 下载次数: 24)
 楼主| 发表于 2015-1-20 00:04:33 | 显示全部楼层 来自: 中国北京
lisc2000 发表于 2015-1-19 22:02 static/image/common/back.gif
( r- k5 Z8 f3 L& }能给出长轴和短轴的公式吗?和水平角度的计算
9 o; u& Z6 v( |& d. P: E$ ]
已经整理好一种几何解法:
, k2 v! N, l  A& y. b7 G
3 \) @3 _3 u/ `- F& |前面的说明:6 g1 A) u7 |6 ~6 |1 w: T. p! Z

; y* Q4 C* X. A+ z: o d001.png
0 [4 V1 G5 z) n) ^4 @6 k) U( W; V. F6 }7 U* s
作图过程:4 ]- W9 Y+ H0 Y" t) @) \+ G/ |

0 |+ p# M, j( E! A. B+ w' R% @0 W: J d002.png
$ ~7 M; x6 U0 L! c: }8 z. t  ]6 b% k  X/ E4 x8 v
d003.png
/ G+ f4 S7 i6 ?% \% ^下图是OP的作法:, C- M2 U1 w8 v4 ?
d004.png
! s  h- V% b) Z- p( J, {最后完成椭圆的长短半轴:
/ A+ E4 h4 ]7 p& p+ }+ y5 j, K# y$ w0 D
d005.png
$ K- Y  p" q- U- f# Y4 s5 F5 z) m7 d8 @7 N: S& l/ o  ?8 j! [
7 V) {9 O$ E" N9 j1 _/ U. C  ?# \

评分

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

查看全部评分

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

5 d6 s3 {3 `2 `, {谢谢,收藏了。
发表于 2015-1-20 13:46:59 | 显示全部楼层 来自: 中国天津
学习了。     
发表于 2018-3-15 10:26:44 | 显示全部楼层 来自: 中国浙江宁波
woaishuijia 发表于 2015-1-19 19:43
/ U; d/ B0 i, c! {' _% i3 H8 B再来个LISP
  U, `, A) O' q9 X6 Z- m+ e) K
这是什么?代码?用于CAD?

点评

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

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

点评

做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。  详情 回复 发表于 2018-3-16 05:11
发表于 2018-3-16 05:11:36 | 显示全部楼层 来自: 中国北京
JCKFC1997 发表于 2018-3-15 20:02$ J/ M/ O  k7 i5 y: `) D
TOPSOLID * [0 c- o1 O. z* W1 p
用中心点加圆上两点即可
+ B% L3 X! ]/ X. k. q% Q
做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。
发表于 2018-3-22 17:16:50 | 显示全部楼层 来自: 中国浙江宁波
可以吼出来啊
9 `2 b5 s9 X6 X& h0 i% L+ L

可以

可以

点评

已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。 下图是根据相同的条件随便画的几个,自己看。  详情 回复 发表于 2018-3-27 00:41
发表于 2018-3-27 00:41:25 | 显示全部楼层 来自: 中国北京
本帖最后由 woaishuijia 于 2018-3-27 00:42 编辑
( Z$ l. Q6 I- R! W8 p
JCKFC1997 发表于 2018-3-22 17:16  \% C& D7 e- Q& c
可以吼出来啊

  q; q. `; ]2 T已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。
) R# ]7 F+ P+ |9 `& h下图是根据相同的条件随便画的几个,自己看。2 x9 T1 m1 D% n- Z5 I3 z

0 n' V9 [# ?: b
捕获.PNG
发表于 2018-11-11 09:32:10 | 显示全部楼层 来自: 中国广东佛山
下载个程序用用。
发表于 2018-12-3 09:59:14 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2015-1-19 12:32- l+ X8 h2 X0 j) |- h7 h8 T: Z
怎么没人回呢?
% r+ @; K" X" u# ~! G
请教一下版主,现在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- B0 C! w& p+ U2 O( Y+ K
请教一下版主,现在CAD编程方面,学习LISP和VBA各有什么优缺点?初学想学习编程,想询问一下版主学习哪个 ...

' I- `' e. T' z5 J, w' ~简单说,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
* B4 ?3 f0 _; {3 d; B' F, w2 h简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面 ...

% ^0 q: l* L2 b" v1 n" e  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
1 ]6 X$ k+ }: [- c& \& p- a好的,感谢版主大大。。。我初学了EXCEL的编程,感觉还可以,所以就想结合CAD编程,尝试在借助excel中的 ...
! p7 G( v% K' @+ E8 q5 T
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编程简直易如反掌。而且VBA的一大优势就是在支持VBA的软件之间交换数据,所以你说的“借助excel中的数据,自动完成在CAD中的绘图”就是自然而然的事。
发表于 2018-12-8 21:17:27 | 显示全部楼层 来自: 中国
woaishuijia 发表于 2018-12-8 20:33
' M; L/ r. @2 D; y" HEXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...

  d* t7 b! W; s" k* N" E: y好的,感谢版主大大!给了我很大的信心!
发表于 2019-1-29 12:43:15 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2018-12-8 20:33) {$ b+ c. r- Y6 w' a  ~0 b
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...
$ V$ o6 h" C( V/ }8 i4 n
老师啊!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 F# m0 Z, W  ]! R3 c" s; k2 q4 H8 b老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻 ...
) B! ?" C2 i' G
把邮箱给我
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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