明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3634|回复: 7

小弟请教圆转化为多段线的方法——在线静等ing

[复制链接]
发表于 2005-7-19 20:26:00 | 显示全部楼层 |阅读模式
1、如何把圆和圆弧转化为多段线?(因为我在做的课题中遇到圆和圆弧进不了我们的专用地理信息系统的分析软件,要在转化为线段才行。 )

2、vba里面有没有这样的函数,我不想在cad里面手工操作,最好是批处理

发表于 2005-7-19 21:41:00 | 显示全部楼层
[WEB]http://www.vba.cn/object/acad2004/idh_setbulge.htm[/WEB]
发表于 2005-7-19 22:53:00 | 显示全部楼层

命令:2pl

本帖子中包含更多资源

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

x
发表于 2005-7-20 08:43:00 | 显示全部楼层

圆弧可以直接转换为多段线,圆可以用正多边形代替.

已知圆心和半径,用polygon就可以转换,在VBA中用sendcommand

发表于 2009-11-7 22:19:00 | 显示全部楼层

源代码能贴出来看看吗

发表于 2009-11-9 22:40:00 | 显示全部楼层
  1. Sub Example()
  2. Dim objArc As AcadArc
  3. Dim objSset As AcadSelectionSet
  4. ThisDrawing.SelectionSets("S1").Delete
  5. Set objSset = ThisDrawing.SelectionSets.Add("S1")
  6. objSset.SelectOnScreen
  7. If objSset.Item(0).ObjectName <> "AcDbArc" Then Exit Sub
  8. Set objArc = objSset.Item(0)
  9. Dim p1, p2, points(3) As Double
  10. p1 = objArc.StartPoint
  11. p2 = objArc.EndPoint
  12. points(0) = p1(0)
  13. points(1) = p1(1)
  14. points(2) = p2(0)
  15. points(3) = p2(1)
  16. Dim plineObj As AcadLWPolyline
  17. Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
  18. Dim currentBulge As Double
  19. currentBulge = plineObj.GetBulge(0)
  20. Debug.Print currentBulge
  21. plineObj.SetBulge 0, Tan((objArc.EndAngle - objArc.StartAngle) / 4)
  22. plineObj.Update
  23. ZoomAll
  24. End Sub
发表于 2009-11-9 22:41:00 | 显示全部楼层

以上为圆弧转化为PL线的方法

圆就好办了,楼主自己想想

发表于 2009-11-18 20:02:00 | 显示全部楼层

把圆用break打断就成了pline

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

本版积分规则

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

GMT+8, 2024-11-27 10:36 , Processed in 0.171738 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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