CAD设计论坛

 找回密码
 立即注册
论坛新手常用操作帮助系统等待验证的用户请看获取社区币方法的说明新注册会员必读(必修)
查看: 1189|回复: 0

[求助] 请教给位版主

[复制链接]
发表于 2009-5-19 15:25 | 显示全部楼层 |阅读模式
各位版主你们好:7 c# k! N* j2 D5 N
   很感谢上次版主的帮助!今本人想请教各位有关cad中vba程序在哪输入呢。在论坛上看见了篮球的画法,很感兴趣,可是画图方法中有关讲曲线转换成样条曲线(如下所示)输入程序的,却不知怎么输入,在哪输入。望各位指教。
! H* g; v9 {+ c' K# B0 Z- G6 g2 G0 w% P
& M% m. |/ I/ D- v
; G& D* A5 d- c/ h# L
转变ucs,画直径为40的绿色圆,用圆和红色样条线的交点打断样条线,再把样条线转化为多段线。
: |6 I$ [6 M4 N4 l! n- B
, T4 R! d+ i9 w    转化样条线有几个办法,都太烦,我还是选择必杀技:用VBA代码,下面这段代码不必看懂它,照搬就行,我将在VBA教程第10课中进行详细解释
9 T: i3 d. |- X% U5 r' c) X$ _Sub sp2pl()+ y/ M6 F* i2 O& z
Dim getsp As Object
  v; z6 u2 M2 n) GDim po As Variant& P# R8 T0 e. i# J6 b& c; n% P
Dim newl() As Double
1 j1 @6 e  J. O. I4 M7 aDim p1 As Variant
- k8 A! g# w" M. z0 b9 t9 eThisDrawing.Utility.GetEntity getsp, po, "本程序将样条曲线转为多段线。请选择样条曲线"/ ~6 z" P. e. |/ O/ B% ?) i. {2 e- l
sumctrl = getsp.NumberOfControlPoints
' z5 R9 k! q6 s( r8 BReDim newl(0 To sumctrl * 3 - 1)
6 M( Z) ^8 W! V& \+ w  
* H: {) `. |9 j( M  For i = 0 To sumctrl - 1
4 t1 Y- ~3 ?. ]' t% n, G% E  p1 = getsp.GetControlPoint(i)& S& W  F' r/ g# E, y9 |
      For j = 0 To 2
0 U" N2 \% J  w5 o  I: Y" A* Y    newl(i * 3 + j) = p1(j)3 p3 `0 ?% p/ X/ ~+ D8 j+ A
  Next j8 p  X$ @; U+ R; K+ w5 y8 b
Next i
1 F2 H7 V; n: s* {: [# i; oSet templ = ThisDrawing.ModelSpace.Add3DPoly(newl)
3 C9 ?0 D+ \1 \End Sub
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于|免责|隐私|版权|广告|联系|手机版|CAD设计论坛

GMT+8, 2024-11-27 11:51

CAD设计论坛,为工程师增加动力。

© 2005-2024 askcad.com. All rights reserved.

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