QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 gongwen0519 于 2015-1-14 00:21 编辑 % i1 I0 E; j# w5 E" J

5 v! y1 b6 Y/ [/ }+ L本题是继这个http://www.3dportal.cn/discuz/fo ... ead&tid=1449246【作出最长值(不限软件)】帖子而来,该帖椭圆中心可知,同时也可以随便得到椭圆上的三点。  P" _2 E4 y, p7 }0 s
* V& _$ X' j2 w, x
几何作图作出OX、OY的方向与长度即可,ACAD则画出整个椭圆:
& g# W  ]2 B. {9 a- X% N
7 T, q" Z# K9 T(这类问题在工程实际中很实用。)3 l* Q: u9 a, C/ Z. E8 e* J! l
' y0 E+ J9 s0 R* W$ W
tuoyuan.png . E$ h, ?$ H6 `# L) \

评分

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

查看全部评分

发表于 2015-1-19 12:32:28 | 显示全部楼层 来自: 中国辽宁抚顺
怎么没人回呢?
  1. Sub C3PE()) k/ `  ?7 }2 X" t) s6 ?1 c
  2. Dim P0(2) As Double, P1 As Variant, P2 As Variant, P3 As Variant, P4 As Variant
    0 a- k, P+ s% I) _; D% S1 r
  3. Dim X1 As Double, Y1 As Double, X2 As Double, Y2 As Double, X3 As Double, Y3 As Double
    6 Q. D  f( q0 v8 Q2 {4 V* W. \
  4. Dim A As Double, B As Double, C As Double, F As Double, Ang As Double, R1 As Double, R2 As Double
    3 _4 T+ j& `9 S4 u) S1 ~! C
  5. On Error GoTo 10& E& F8 Y6 w9 n6 |& `% B9 e& g
  6. With ThisDrawing
    ! w. v$ C  \' Y/ n( @# a  I
  7. P1 = .Utility.GetPoint(, "指定中心点")
    6 M2 y1 ?, ?$ G: m/ j& W
  8. P2 = .Utility.GetPoint(, "指定第一点")
    & X4 L3 W" W8 z7 b1 j5 N- T+ f
  9. P3 = .Utility.GetPoint(, "指定第二点")
    ) F. s- g, z9 \4 G6 x9 B
  10. P4 = .Utility.GetPoint(, "指定第三点")$ `7 z! e2 q) U% x
  11. X1 = P2(0) - P1(0)
    " o  ~3 z$ H8 t, x: C) G( a
  12. Y1 = P2(1) - P1(1)
    3 p, m+ [3 O* Y2 X' @' ^
  13. X2 = P3(0) - P1(0)
    . h% [3 R+ B: G. Y7 P  }# ]# o
  14. Y2 = P3(1) - P1(1)
    ; G' X; U; r. N6 j1 e  u
  15. X3 = P4(0) - P1(0)( V; G$ K& D8 N1 t
  16. Y3 = P4(1) - P1(1)9 ~2 P2 U4 T6 W' u. X! \
  17. A = (X1 * Y1 - X2 * Y2) * (Y1 ^ 2 - Y3 ^ 2) - (X1 * Y1 - X3 * Y3) * (Y1 ^ 2 - Y2 ^ 2)& s  C6 F( W) o4 E
  18. If A <> 0 Then, B- D0 D/ v) S# W
  19. B = ((X1 ^ 2 - X2 ^ 2) * (X1 * Y1 - X3 * Y3) - (X1 ^ 2 - X3 ^ 2) * (X1 * Y1 - X2 * Y2)) / A3 t, q. e& o+ G, W; J$ c+ m
  20. C = ((X1 ^ 2 - X3 ^ 2) * (Y1 ^ 2 - Y2 ^ 2) - (X1 ^ 2 - X2 ^ 2) * (Y1 ^ 2 - Y3 ^ 2)) / A1 T( f! C$ R# d0 N# t! D, U
  21. F = -X1 ^ 2 - B * Y1 ^ 2 - C * X1 * Y1
    4 }# j3 R* h- {7 `: B0 H
  22. If C = 0 Then
    . E) I1 `/ `7 S8 e4 u
  23. If B > 0 And F < 0 Then
    ; ~+ h6 l+ @# L+ x3 x. z- _
  24. Ang = 0
    + C: d; z' A- H5 M3 J
  25. R1 = Sqr(-F)+ p- C1 B6 @" `& W
  26. R2 = Sqr(-F / B)$ g* s. w- i& {& C7 ^7 l& j
  27. Else
    : C, q) Q& j9 X, f
  28. Exit Sub
    ; z8 M# _' y1 O) l2 I
  29. End If
    # P( U- l, }- u
  30. Else8 r2 I% N8 I/ Z3 [$ B
  31. If B = 1 Then
    ! B, Z+ S- ^6 H* j
  32. If F < 0 And C > -2 And C < 2 Then
    # [$ F( p6 I& ~7 W! ~7 l2 `
  33. Ang = .Utility.AngleToReal(45, acDegrees)1 y& D" F- \( F& h
  34. R1 = Sqr(-2 * F / (2 + C))
    2 g# @9 Y' w( a' O# ~
  35. R2 = Sqr(-2 * F / (2 - C))7 b( k) D( s0 p, I. N/ \
  36. Else/ F  \0 T5 @6 t) i2 Y
  37. Exit Sub
    : I" d" v, s. H
  38. End If* x' y6 C2 Z9 n- c
  39. Else# B' H# S8 J/ ~1 p1 j# D4 D. x
  40. Ang = Atn(C / (1 - B)) / 20 |5 a% B- {. R( n
  41. If Ang < 0 Then Ang = Ang + .Utility.AngleToReal(90, acDegrees)2 [- V3 j- A# ?8 A6 Y
  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 _& a+ }/ r' \+ ]% I3 J
  43. B < -1 And F > 0 And C > (B + Tan(Ang) ^ 2) / Tan(Ang) And C < -(1 + B * Tan(Ang) ^ 2) / Tan(Ang) Then7 n: H: ]) D. K) [" u
  44. R2 = -F * (1 + Tan(Ang) ^ 2)
    9 {9 m) g- `! [! K$ M
  45. R1 = Sqr(R2 / (1 + B * Tan(Ang) ^ 2 + C * Tan(Ang)))  h. T  f" ?8 J7 }$ {- Z) G
  46. R2 = Sqr(R2 / (B + Tan(Ang) ^ 2 - C * Tan(Ang)))
    6 }1 l3 H$ S; Z* e4 v$ H+ Z0 H
  47. Else' |2 {& P2 I, J! s8 K
  48. Exit Sub
    ' |$ R' U7 x* |0 s% ?: j* Y( w
  49. End If$ ^( I$ r/ P: }
  50. End If; m4 @7 n/ J4 v- h% q: ?* p: N
  51. End If7 d9 R: ]8 C, `& q& ?% {( \7 Y8 E
  52. Else' C9 }0 M2 Y& N: I3 G, n- `% Y
  53. Exit Sub
    & a( ~" H% J* [) B; N8 f; ^
  54. End If0 g" z3 K8 _, ^" X# E& ^
  55. If R2 < R1 Then! c: k- F- {3 g: U* G4 }
  56. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang, R1), R2 / R19 m4 p8 |8 F2 W7 a" k
  57. Else* V/ s7 t/ e5 l8 _7 _
  58. .ModelSpace.AddEllipse P1, .Utility.PolarPoint(P0, Ang + .Utility.AngleToReal(90, acDegrees), R2), R1 / R2: d- y( t# _; s3 V  U9 P& Z
  59. End If
    1 ^$ `6 s& ?" O* T* L( D; p6 e1 \
  60. End With8 O" s6 s" N" u# z5 H$ P
  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 编辑
& E) K# t9 Y' ?% T# r" j8 n: M' X( |1 q  S2 h) o7 ?% U
再来个LISP
  1. (defun c:c3pe$ Q1 ~% R8 \$ t' O1 f
  2.        (/ old p0 p1 p2 p3 p4 x1 y1 x2 y2 x3 y3 a b c f ang r1 r2)) K8 ^! z- R& v/ B! X# U8 A
  3.   (setvar "CMDECHO" 0)
    % {8 Q7 ]2 h' C4 @* `6 N
  4.   (setq p0 (list 0 0 0)' m3 {6 J6 s( f: |9 d
  5. p1 (getpoint "\n 指定中心点:")9 `9 v9 ?) d9 u0 P/ o3 D9 N+ ]# Z
  6. p2 (getpoint "\n 指定第一点:")
    ! p( M$ |" e. V9 Q# }+ `/ r8 s2 f. a
  7. p3 (getpoint "\n 指定第二点:")2 m: e; D( n% d9 z# \
  8. p4 (getpoint "\n 指定第三点:")' ~. n( m6 h' W0 _/ d$ [
  9. a  (car p1)3 h9 [3 M3 h  ~0 F, b1 s
  10. b  (cadr p1)4 _/ Y" Z& L+ |0 C5 S* _$ M
  11. x1 (- (car p2) a)- B) V1 m) \1 {& t0 A8 A& w: U
  12. y1 (- (cadr p2) b)
    2 o8 X  k. `7 a4 m
  13. x2 (- (car p3) a)' p! e* b. s- w& b8 f7 q: ]1 W
  14. y2 (- (cadr p3) b)( O" W. d' I, l4 {7 E3 L' e+ @
  15. x3 (- (car p4) a)
    : u1 a7 U5 u* d6 Z2 M
  16. y3 (- (cadr p4) b)
    # [% o5 W0 R# o+ R5 h6 N% I
  17. a  (- (* (- (* x1 y1) (* x2 y2)) (- (* y1 y1) (* y3 y3)))7 s3 p# X8 }, H0 V/ x- E" g
  18.        (* (- (* x1 y1) (* x3 y3)) (- (* y1 y1) (* y2 y2)))" W" }8 G/ T9 I( _( L5 T6 f
  19.     ): ?; C7 s: Z# P
  20.   )( y; \+ Q4 {0 u4 L0 O
  21.   (if (/= a 0.0)
    0 s5 M9 D# u" S/ U- a5 T) q. c0 ]
  22.     (progn
    1 n) z* |# f' _
  23.       (setq b (/ (- (* (- (* x1 x1) (* x2 x2)) (- (* x1 y1) (* x3 y3)))
    % ?' L& I6 N2 i! i2 k  n1 N6 s; ^
  24.       (* (- (* x1 x1) (* x3 x3)) (- (* x1 y1) (* x2 y2)))
    8 x! Z0 J# K; R; q7 G
  25.    )0 U1 _, ]% S3 x3 x* r; _6 I. Z$ V2 X
  26.    a$ g" \, `7 J5 a  m2 [( L' F
  27.        )& g4 ]2 N. t" C: U) \. t" Y
  28.      c (/ (- (* (- (* x1 x1) (* x3 x3)) (- (* y1 y1) (* y2 y2)))& c$ u. V, O/ T2 x8 E
  29.       (* (- (* x1 x1) (* x2 x2)) (- (* y1 y1) (* y3 y3)))( ~4 a6 a' g) {* k: s' P; {
  30.    )
    6 N% ?5 ?$ ^3 W: f! U$ ~4 i2 s+ W
  31.    a
    $ @( A2 ]' j" {% J+ K
  32.        )
    : C6 J! G* x! H/ m* ^9 t! o
  33.      f (- 0 (* x1 x1) (* b y1 y1) (* c x1 y1))3 |. O4 Y3 F& R9 I
  34.       )/ x/ U* @8 P, W6 W! F
  35.       (if (zerop c)
    3 J" B: q) L: G
  36. (if (and (> b 0.0) (< f 0.0))# z8 D# |& m. e; [2 J2 |8 c+ K
  37.    (setq ang 0.0
    ( H% Z/ R7 g$ m$ _- |2 ?% ?
  38.   r1  (sqrt (- 0 f))% S6 _& `+ w9 g" I9 ~
  39.   r2  (sqrt (- 0 (/ f b)))
    ( D! W% x- _+ @# ~0 x. y/ E
  40.    )8 l5 r6 J7 U. P0 w' D) L
  41. )& G; {9 t- M! H% Y2 p
  42. (progn
    8 T* q' b- ~7 G8 C$ {
  43.    (if (= b 1.0)
    $ W& C7 }3 o4 S3 x. ~, ~
  44.      (if (and (< f 0.0) (> c -2.0) (< c 2.0))2 D- `4 O+ H$ Z7 \1 p9 }1 L
  45.        (setq ang (/ pi 4)
    $ Y" o8 m) ~: ?. v+ C7 _8 q
  46.       r1 (sqrt (* -2 (/ f (+ 2 c))))2 r  m  |# M' H  r6 t: `
  47.       r2 (sqrt (* -2 (/ f (- 2 c))))
    $ Q& d- `. g  }) V1 X" a5 q7 p
  48.        )0 ?& x" @% T# `$ W6 Z
  49.      )7 z5 X6 J2 `; g! o0 V! F2 u) d
  50.      (progn
    * Z6 S# [0 T- _) l0 k
  51.        (setq ang (/ (atan (/ c (- 1 b)))" T4 ]* }4 K; n6 F! j% q
  52.       2! U  x1 Z( e, j  H- t0 q5 N" }
  53.    )
    5 H( m$ p8 o# F1 T. N
  54.        )
    & g6 [/ Y0 o/ T" i' f1 i
  55.        (if (< ang 0.0)
    7 q/ y% L6 R8 x, p2 W$ _4 M
  56.   (setq ang (+ ang (/ pi 2)))
    7 ?9 j" L6 ]" L2 O: ]" ?5 g9 ^
  57.        )! Y  E8 j( Q. ]
  58.        (setq a (/ (sin ang) (cos ang)))% Y0 s+ H4 v- l4 e' ~: H5 u9 ]
  59.        (if (or (and (> b -1.0)+ X3 ]) a+ S& b& X& c2 [
  60.       (< f 0.0)
    7 o% g3 c, \6 R! \" Y; A/ J
  61.       (> c (/ (- -1.0 (* b (* a a))) a))! Y7 r9 z3 ]" w
  62.       (< c (/ (+ b (* a a)) a))
    3 L( h/ x) p7 S7 d2 m6 g7 {
  63.         )
    2 B9 E% @3 Y# b
  64.         (and (< b -1.0), h/ E* v+ u" O) Q7 l+ c* q4 ?
  65.       (> f 0.0)) c8 @3 g( k$ F1 Z0 |* e
  66.       (> c (/ (+ b (* a a)) a)). d: W' F6 m4 p& l0 _0 o7 F! f
  67.       (< c (/ (- -1.0 (* b (* a a))) a))
    * |* `( h% X7 K1 Z5 s; r" m
  68.         )
    # D. v, c4 V: ^6 o
  69.     )7 L" J% k0 a- |5 J; D* z( Q
  70.   (setq r2 (* -1 f (1+ (* a a))). J  f0 ^1 K  }. F7 j1 [
  71.         r1 (sqrt (/ r2 (+ 1 (* b a a) (* c a))))
    . x: ?9 `# m3 ^$ V0 h
  72.         r2 (sqrt (/ r2 (- (+ b (* a a)) (* c a))))
    2 _8 `( I/ c  A& j
  73.   )& j$ x) ?, j3 b5 R
  74.        )
    - A" {* a( a( m$ v$ `2 B
  75.      )
    & M6 \9 ]2 {- N! H
  76.    )
    8 M5 i8 N4 G* |: m6 l' W
  77. )0 s4 P3 o+ O; v; p. y, [
  78.       )
    ( f; [5 ]- H, {9 I/ |
  79.     )4 m& a2 u6 l- A8 s. l
  80.   )
    " {/ O2 r5 v1 C/ z" H* t/ Z4 V
  81.   (if r1
    # L$ q6 D$ c  ^/ H
  82.     (progn
    ! g6 L* Y$ W- h
  83.       (setq old (getvar "OSMODE"))
    1 p' S1 {9 k! k: J7 _
  84.       (setvar "OSMODE" 0)
    ; j9 a$ K. R9 R% p. M5 i4 D
  85.       (command "ellipse"1 I8 \# e4 V  D% ]
  86.         "c"' j, _5 _: b( ?. i: b6 B
  87.         p1. ]/ j( W/ q  S8 a
  88.         (polar p1 ang r1)
    ( @, x7 }- }# v0 ^9 ?  g
  89.         r2& t' \1 G4 U3 G! p6 l
  90.       )/ f- }% G$ ]& _& H0 @
  91.       (setvar "OSMODE" old)* q3 F/ W6 v$ s/ g
  92.     )9 ?0 l4 v/ }7 L- m& u8 M  {9 r9 ^
  93.   )
    " Q. O2 f" z. Z- j! O4 K, D
  94.   (princ)1 k, H6 f% b  ~6 I  r& r' L
  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
, \  d8 h* v# b0 J9 U' T3 E$ @已知椭圆的中心点,将3点代入椭圆的一般方程,用解析几何的方法计算即可。
0 {) l% f  e8 F, S( F
可以不解方程,有纯几何方法解的(指能作出椭圆的长短轴的方向与长度)。
 楼主| 发表于 2015-1-19 20:45:01 | 显示全部楼层 来自: 中国北京
本帖最后由 gongwen0519 于 2015-1-19 20:55 编辑
  }6 K% D* [7 i: r; F# `
woaishuijia 发表于 2015-1-19 19:43 static/image/common/back.gif# q3 t7 P# H, f1 a7 X5 {) D
再来个LISP
4 e6 g1 |) a6 Z; ~) u0 l4 J

; o$ @0 j+ j. p2 Swoaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码,手工复制或清理太费时间),谢谢。。
4 ^! @" N( r1 X+ d" E' e- C
: s  p5 c" k* s- E看来大家和曾经的楼主一样,看到圆锥二次曲线就生威蹙眉。
) l  J, {5 h) H9 X$ E6 u/ t& o; B' |! u# G
如果用尺寸约束与驱动,把椭圆约束到这些参数上也是可以的呀。
- s: `! T; v( m, I1 \
3 b; d* \: D( i谢谢woaishuijia版主的VBA与lsp,今后工作中我就用您的程序了。. O# d4 Z' [7 B7 ?
4 p, I- @% z+ n1 w4 J% f6 y
为增加活跃一下的气氛,我还是稍后整理公布一下过程不是“很”复杂的几何作法吧。
发表于 2015-1-19 22:02:32 | 显示全部楼层 来自: 中国辽宁大连
能给出长轴和短轴的公式吗?和水平角度的计算
发表于 2015-1-19 23:10:51 | 显示全部楼层 来自: 中国辽宁营口
本帖最后由 woaishuijia 于 2015-1-19 23:25 编辑 3 l5 i" J' h- A
gongwen0519 发表于 2015-1-19 20:45 http://www.3dportal.cn/discuz/static/image/common/back.gif
) [5 s& O7 y: E' P9 \2 Mwoaishuijia版主,劳驾您将两个程序的文本文件打个压缩包吧(三维网论坛的网页代码复制每行后都带乱码, ...
+ i! _- X4 ?3 T) k

8 U7 i+ j6 u* K* H7 ^* ] C3PE.rar (4.96 KB, 下载次数: 24)
 楼主| 发表于 2015-1-20 00:04:33 | 显示全部楼层 来自: 中国北京
lisc2000 发表于 2015-1-19 22:02 static/image/common/back.gif
5 {8 ^8 Q3 V( Q3 j) q能给出长轴和短轴的公式吗?和水平角度的计算

9 C5 N6 X; f" @, T5 p/ X# J已经整理好一种几何解法:5 F  T( p! _+ G* ]8 H
; R/ ^8 q. N; j( T
前面的说明:1 ]+ ~1 b8 o/ `9 I) F. Z

& y6 e  ]! F; h4 t, ? d001.png 9 ~# n% m" m. c  @' A6 E

% a# e% R* |  ~- \0 T作图过程:
$ |9 m( x* q: U8 _. h# F; K, h/ B* ^8 b
% j" T% M1 n# n+ L d002.png 8 U% s1 u: T5 W6 v6 t9 v8 F! M: y

1 Z" `, ^/ V+ m: K d003.png 0 m/ A. C; u6 A' O9 Q- w& r1 q9 z2 p
下图是OP的作法:
5 E2 ~0 Q# B4 f' Y2 Z5 D: X* b; c d004.png " y$ ~% q- d* X" H
最后完成椭圆的长短半轴:
: ?4 H9 U) Y# G7 G0 X) E
) ^5 U2 G% R, x5 d$ y- r9 m6 ~" v# r" C d005.png
: i' L+ ?6 j8 ]# E9 a6 q
" {5 s' E( E- D; Z2 @" W
0 \2 G* x6 y: R4 A

评分

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

查看全部评分

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

% L9 z5 F. v, ]8 N1 ?( \6 ~$ E谢谢,收藏了。
发表于 2015-1-20 13:46:59 | 显示全部楼层 来自: 中国天津
学习了。     
发表于 2018-3-15 10:26:44 | 显示全部楼层 来自: 中国浙江宁波
woaishuijia 发表于 2015-1-19 19:43
  f. x. G  O, W1 K4 c8 S再来个LISP
0 ?" G. [3 E2 o8 i& M/ R' J
这是什么?代码?用于CAD?

点评

是的。AutoCAD是一款极为优秀的二次开发平台软件,支持多种(比如C、.net、LISP、VBA、脚本)编程工具(语言)。用户可用其创制属于自己的个性化命令。一些常见的国产CAD软件(如PCCAD、开目、机械工程师等)就是在  详情 回复 发表于 2018-3-15 17:31
发表于 2018-3-15 17:31:39 | 显示全部楼层 来自: 中国北京
小草包 发表于 2018-3-15 10:26
5 }: ~. p& S# M* R这是什么?代码?用于CAD?
; V' W( x3 e% r) K) f, }
是的。AutoCAD是一款极为优秀的二次开发平台软件,支持多种(比如C、.net、LISP、VBA、脚本)编程工具(语言)。用户可用其创制属于自己的个性化命令。一些常见的国产CAD软件(如PCCAD、开目、机械工程师等)就是在这个平台上二次开发的绘图软件产品。本帖的二楼、四楼就是针对楼主所提问题,分别用VBA和LISP编写的“已知中心及其上三点作椭圆”命令的程序代码。八楼附件是包含程序的工程文件,在AutoCAD绘图界面的“工具”菜单下使用相应的命令加载工程文件后,就可以像平时使用CAD命令画直线、画圆一样,使用这个自制命令,根据已知中心及其上三点画出椭圆了。
发表于 2018-3-15 20:02:56 | 显示全部楼层 来自: 中国浙江宁波
TOPSOLID
) {2 M( h* J1 R' H2 I用中心点加圆上两点即可

点评

做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。  详情 回复 发表于 2018-3-16 05:11
发表于 2018-3-16 05:11:36 | 显示全部楼层 来自: 中国北京
JCKFC1997 发表于 2018-3-15 20:02; Z, `2 @2 Z) B4 z; b2 x
TOPSOLID ' y9 e4 p  A( H$ g! e. H4 K: A3 j
用中心点加圆上两点即可

+ A/ a# J% F5 ?4 J/ f0 o& M+ Y  `4 P做不到。结果不唯一。再增加一个条件才可以,比如轴方向或椭圆上的另一个点。
发表于 2018-3-22 17:16:50 | 显示全部楼层 来自: 中国浙江宁波
可以吼出来啊
- Q( `# I0 d: I' D9 l$ Y, `0 q. n4 Z

可以

可以

点评

已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。 下图是根据相同的条件随便画的几个,自己看。  详情 回复 发表于 2018-3-27 00:41
发表于 2018-3-27 00:41:25 | 显示全部楼层 来自: 中国北京
本帖最后由 woaishuijia 于 2018-3-27 00:42 编辑
" r" I! a; ]+ R7 I! \4 K8 b1 C7 q
JCKFC1997 发表于 2018-3-22 17:168 t9 ]2 T2 ?4 b" J6 v- e- y. D
可以吼出来啊

- A% y: Q5 ~! D  F$ L/ M# y1 l( X: k已经说过了,根据椭圆中心和其上两点,不能确定一个椭圆。如果只有这三个条件,可以画出无数个椭圆。你画了其中的一个,说明不了任何问题。
8 _5 a% u" c: ?* y下图是根据相同的条件随便画的几个,自己看。
# p7 I; }9 s2 A3 |% _8 r; `/ B  Q$ b2 r+ D* u2 V, K
捕获.PNG
发表于 2018-11-11 09:32:10 | 显示全部楼层 来自: 中国广东佛山
下载个程序用用。
发表于 2018-12-3 09:59:14 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2015-1-19 12:32( R, l) v4 C/ a7 d
怎么没人回呢?

( q, O# @; q4 E! ^( s! ~  v; }' h请教一下版主,现在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
+ g' E; p! V! n) A* u1 c3 e1 ^请教一下版主,现在CAD编程方面,学习LISP和VBA各有什么优缺点?初学想学习编程,想询问一下版主学习哪个 ...
" x4 _( j# {$ w( b2 I
简单说,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  j, @! I0 e; u3 u
简单说,VBA是微软的东西,是建立在VB(可视化Basic,一种面向WINDOWS系统的图形化编程工具)基础上的面 ...

; e" j4 N) ]& t' D& N; 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+ B) `- F. B1 W7 ~' q2 N
好的,感谢版主大大。。。我初学了EXCEL的编程,感觉还可以,所以就想结合CAD编程,尝试在借助excel中的 ...
# u% J4 D  k* p  o; N# a* Z
EXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编程简直易如反掌。而且VBA的一大优势就是在支持VBA的软件之间交换数据,所以你说的“借助excel中的数据,自动完成在CAD中的绘图”就是自然而然的事。
发表于 2018-12-8 21:17:27 | 显示全部楼层 来自: 中国
woaishuijia 发表于 2018-12-8 20:33
2 A. |- j/ \1 q# Q8 [* OEXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...
' E7 T  G$ ]3 p6 ]1 g+ ~! u
好的,感谢版主大大!给了我很大的信心!
发表于 2019-1-29 12:43:15 | 显示全部楼层 来自: 中国辽宁
woaishuijia 发表于 2018-12-8 20:33
0 a& h5 u- G. X7 G% JEXCEL的编程就是VBA啊,如果你已经会了EXCEL的VBA,又能够熟练使用CAD画图,那使用VBA做CAD的二次开发编 ...

4 K; ?1 u( G/ j/ H4 I/ }. ]( K老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻烦多了!没有录制宏,我该怎么学习CAD的VBA呢?

点评

把邮箱给我  详情 回复 发表于 2019-1-30 22:13
发表于 2019-1-30 22:13:09 | 显示全部楼层 来自: 中国北京
kuangben8 发表于 2019-1-29 12:43
: `1 y% g) T$ k( P老师啊!CAD的VBA没有录制宏功能啊?而且外安装的VBA模块帮助文件全是英文版的!和OFFICE的VBA相比较,麻 ...
5 N/ L' f$ f4 f1 `4 H1 O
把邮箱给我
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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