kids 发表于 2011-11-17 20:56:00

跪求高手

我想做这样一件事:
      在我的当前图形里有很多圆,我想一次将每个圆的圆心坐标输出到txt文件中,哪位高手能帮帮我,谢谢!

zhuirvine 发表于 2011-11-17 22:59:00

你想用哪种方式实现啊,是用.COM引用呢,还是那个DLL呢。。反正思路是一样的,弄个带过滤的选择集,选择源,然后遍历里面的元素,直接将每个元素的圆心输出到TXT。。就这么简单啦。。

kids 发表于 2011-11-19 08:00:00


恩 ,我这两天研究了下,我是用VBA做的,但是我现在做到能遍历每个圆,但是不知道怎么输出到TXT文件中,高手能不能指点下

guohq 发表于 2011-11-19 23:23:00


Sub WriteCir()
    Dim ss As AcadSelectionSet
    If IsNull(ThisDrawing.SelectionSets.Item("cir")) Then
      Set ss = ThisDrawing.SelectionSets.Add("cir")
      Else
      Set ss = ThisDrawing.SelectionSets.Item("cir")
      ss.Clear
    End If
      
   
    Dim gpCode(0) As Integer
    Dim dataValue(0) As Variant
    gpCode(0) = 0
    dataValue(0) = "Circle"
   
    Dim groupCode As Variant, dataCode As Variant
    groupCode = gpCode
    dataCode = dataValue
   
    ss.Select acSelectionSetAll, , , groupCode, dataCode
   
    Dim cir As AcadCircle, obj As AcadEntity
    Dim ptAs Variant
    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    Dim pfile As Object
    Set pfile = fso.CreateTextFile("c:\ttttt.txt", True)
   
    For Each obj In ss
       Set cir = obj
       pt = cir.Center
       pfile.WriteLine (pt(0) & "   " & pt(1))
    Next

    pfile.Close
End Sub

kids 发表于 2011-11-20 10:36:00


谢谢但是程序运行时报错未找到主键

guohq 发表于 2011-11-21 21:51:00

我测试过,可以运行的,你自己可以设断点调试一下,看哪句话出错了

sailorcwx 发表于 2011-11-22 12:19:00

在一开始增加一个On Error Resume Next
因为一开始没有cir选集的话,ThisDrawing.SelectionSets.Item("cir")就会出错

kids 发表于 2011-11-22 22:34:00


恩是这样的谢谢

guohq 发表于 2011-11-22 23:12:00

呵呵,不怎么用VBA,没有考虑到这些
页: [1]
查看完整版本: 跪求高手