明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2643|回复: 8

跪求高手

[复制链接]
发表于 2011-11-17 20:56:33 | 显示全部楼层 |阅读模式
我想做这样一件事:
      在我的当前图形里有很多圆,我想一次将每个圆的圆心坐标输出到txt文件中,哪位高手能帮帮我,谢谢!
发表于 2011-11-17 22:59:29 | 显示全部楼层
你想用哪种方式实现啊,是用.COM引用呢,还是那个DLL呢。。反正思路是一样的,弄个带过滤的选择集,选择源,然后遍历里面的元素,直接将每个元素的圆心输出到TXT。。就这么简单啦。。
 楼主| 发表于 2011-11-19 08:00:45 | 显示全部楼层
zhuirvine 发表于 2011-11-17 22:59
你想用哪种方式实现啊,是用.COM引用呢,还是那个DLL呢。。反正思路是一样的,弄个带过滤的选择集,选择源, ...

恩 ,我这两天研究了下,我是用VBA做的,但是我现在做到能遍历每个圆,但是不知道怎么输出到TXT文件中,高手能不能指点下
发表于 2011-11-19 23:23:05 | 显示全部楼层
本帖最后由 guohq 于 2011-11-19 23:25 编辑
  1. Sub WriteCir()

  2.     Dim ss As AcadSelectionSet
  3.     If IsNull(ThisDrawing.SelectionSets.Item("cir")) Then
  4.         Set ss = ThisDrawing.SelectionSets.Add("cir")
  5.         Else
  6.         Set ss = ThisDrawing.SelectionSets.Item("cir")
  7.         ss.Clear
  8.     End If
  9.       
  10.    
  11.     Dim gpCode(0) As Integer
  12.     Dim dataValue(0) As Variant
  13.     gpCode(0) = 0
  14.     dataValue(0) = "Circle"
  15.    
  16.     Dim groupCode As Variant, dataCode As Variant
  17.     groupCode = gpCode
  18.     dataCode = dataValue

  19.    
  20.     ss.Select acSelectionSetAll, , , groupCode, dataCode
  21.    
  22.     Dim cir As AcadCircle, obj As AcadEntity
  23.     Dim pt  As Variant

  24.     Dim fso As Object
  25.     Set fso = CreateObject("Scripting.FileSystemObject")
  26.     Dim pfile As Object
  27.     Set pfile = fso.CreateTextFile("c:\ttttt.txt", True)
  28.    
  29.     For Each obj In ss
  30.        Set cir = obj
  31.        pt = cir.Center
  32.        pfile.WriteLine (pt(0) & "   " & pt(1))
  33.     Next

  34.     pfile.Close
  35. End Sub

 楼主| 发表于 2011-11-20 10:36:20 | 显示全部楼层
guohq 发表于 2011-11-19 23:23

谢谢  但是程序运行时报错  未找到主键
发表于 2011-11-21 21:51:38 | 显示全部楼层
我测试过,可以运行的,你自己可以设断点调试一下,看哪句话出错了
发表于 2011-11-22 12:19:19 | 显示全部楼层
在一开始增加一个On Error Resume Next
因为一开始没有cir选集的话,ThisDrawing.SelectionSets.Item("cir")就会出错
 楼主| 发表于 2011-11-22 22:34:51 | 显示全部楼层
sailorcwx 发表于 2011-11-22 12:19
在一开始增加一个On Error Resume Next
因为一开始没有cir选集的话,ThisDrawing.SelectionSets.Item("cir ...

恩  是这样的  谢谢
发表于 2011-11-22 23:12:20 | 显示全部楼层
呵呵,不怎么用VBA,没有考虑到这些
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 18:33 , Processed in 0.155480 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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