找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1272|回复: 2

[求助]:有没有人可以解决我这个问题,如下代码正文

[复制链接]
发表于 2007-5-15 16:08:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
有没有人可能解决我这个问题,如下代码,1 可不可以让生成的每一个圆不重叠在一起,
2 将生成的圆在指定位置开始生成,
3 能否将它像CAD里填充命令一样选一个区域再在这个区域里生成圆

附档为窗体文件及代码
Option Explicit
Dim acadApp As AutoCAD.AcadApplication
Dim AcadDoc As AcadDocument
Private Sub Command1_Click()

Dim dl As Double
Dim dw As Double
Dim db As Double
Dim de As Double

'点个数
dl = Me.Text1(0).Text '长
dw = Me.Text1(1).Text '宽
db = Me.Text1(2).Text '直径
de = Me.Text1(3).Text '直径增量


Dim returnpnt As Variant
AppActivate acadApp.Caption
returnpnt = acadApp.ActiveDocument.Utility.GetPoint(, "插入点:")



Dim myselect(0 To 20000) As AcadEntity  '定义选择集数组
Dim pp(0 To 2) As Double '圆心坐标

Dim I
For I = 0 To Me.Text1(4).Text '循环次数
pp(0) = dl * Rnd: pp(1) = dw * Rnd: pp(2) = 0 '设置圆心坐标
Set myselect(I) = acadApp.ActiveDocument.ModelSpace.AddCircle(pp, Rnd * db + de) '画不同大小的圆
ZoomExtents

Next I
For I = 1 To Me.Text1(4).Text
If myselect(I).Radius > Me.Text1(5).Text Then '判断圆的直径是否大于x
myselect(I).Color = Int(255 * Rnd + 1) '大圆颜色改为随机数
Else
myselect(I).Color = 0 '小圆改为白色
End If
Next I


'ZoomExtents '缩放到显示全部对象

End Sub
Private Sub Command2_Click()
End
End Sub


Private Sub Form_Load()
  On Error Resume Next
Set acadApp = GetObject(, "AutoCAD.Application")
If Err Then
Err.Clear
Set acadApp = CreateObject("AutoCAD.Application")
If Err Then End
MsgBox ("你的系统未安装AutoCAD2004,请安装它才能使用本程序")
      Unload Me
      Exit Sub
      End If
acadApp.WindowState = acMax
acadApp.Visible = True
Set AcadDoc = acadApp.ActiveDocument

Me.Text1(0) = 15
Me.Text1(1) = 20
Me.Text1(2) = 0.06
Me.Text1(3) = 0.0002
Me.Text1(4) = 600
Me.Text1(5) = 0.06

End Sub
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2007-5-15 23:39:39 | 显示全部楼层
CAD二次开发书中的花园小径的代码正符合你的要求
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-16 09:02:09 | 显示全部楼层
那个不是我要的,它只不过是规侧填充阵列,我的这个是随机的,还望坛里朋友授手下小弟.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-21 10:41 , Processed in 0.303469 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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