明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1785|回复: 3

huaiyu,请进,在线等

[复制链接]
发表于 2006-10-28 16:53:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2006-10-30 14:24:58 编辑

在多段线的每个顶点都加一个圆,圆心就是顶点,半径为2

在vba中如何实现呀?

大家帮手,  谢谢

发表于 2006-10-28 23:30:00 | 显示全部楼层

这样对 Coordinates 的遍历来得到的

Sub Test5()
Dim objSel As AcadEntity
Dim pt As ACAD_POINT
On Error GoTo exitSel
ThisDrawing.Utility.GetEntity objSel, pt, "Pick a text"
'If TypeOf objSel Is AcDbText Then
If objSel.ObjectName <> "AcDbPolyline" Then
 ThisDrawing.Utility.Prompt "选择的不是 AcDbPolyline,请重新选择!"
 Exit Sub
End If
'Dim vv As AcadPolyline
Dim pts As Variant
pts = objSel.Coordinates
Dim i As Integer
i = 1
Dim ptCir(0 To 2) As Double
Dim cir As AcadCircle
For Each pt In pts
 If i = 2 Then
 ptCir(1) = pt
 ptCir(2) = 0#
 Set cir = ThisDrawing.ModelSpace.AddCircle(ptCir, 2#)
 i = 1
 Else
 ptCir(0) = pt
 i = i + 1
 End If
 
Next pt

exitSel:
End Sub

 楼主| 发表于 2006-10-30 13:59:00 | 显示全部楼层
huaiyu,谢谢你的精彩解答,我试一下你的办法
 楼主| 发表于 2006-10-30 14:23:00 | 显示全部楼层

huaiyu,我用你的方法时发现两个问题:

  1.有圆弧的地方,凸点没能加圆,其它的顶点都可以正确的加上去

  2.你用的是选择一个多段线

      ThisDrawing.Utility.GetEntity objSel, pt, "Pick a text"
     我现在想改成在一个选择集中的所有多段线的顶点都要加一个同样的圆

不知你能不能再帮忙解答一下,在线等.....

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 22:40 , Processed in 0.166594 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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