乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 124|回复: 8

跪求高手

[复制链接]

13

主题

34

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
86
发表于 2011-11-17 20:56:00 | 显示全部楼层 |阅读模式
我想做这样一件事:
      在我的当前图形里有很多圆,我想一次将每个圆的圆心坐标输出到txt文件中,哪位高手能帮帮我,谢谢!
回复

使用道具 举报

4

主题

20

帖子

1

银币

初来乍到

Rank: 1

铜币
36
发表于 2011-11-17 22:59:00 | 显示全部楼层
你想用哪种方式实现啊,是用.COM引用呢,还是那个DLL呢。。反正思路是一样的,弄个带过滤的选择集,选择源,然后遍历里面的元素,直接将每个元素的圆心输出到TXT。。就这么简单啦。。
回复

使用道具 举报

13

主题

34

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
86
发表于 2011-11-19 08:00:00 | 显示全部楼层

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

使用道具 举报

75

主题

306

帖子

10

银币

中流砥柱

Rank: 25

铜币
606
发表于 2011-11-19 23:23:00 | 显示全部楼层
  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

回复

使用道具 举报

13

主题

34

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
86
发表于 2011-11-20 10:36:00 | 显示全部楼层

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

使用道具 举报

75

主题

306

帖子

10

银币

中流砥柱

Rank: 25

铜币
606
发表于 2011-11-21 21:51:00 | 显示全部楼层
我测试过,可以运行的,你自己可以设断点调试一下,看哪句话出错了
回复

使用道具 举报

29

主题

503

帖子

8

银币

中流砥柱

Rank: 25

铜币
619
发表于 2011-11-22 12:19:00 | 显示全部楼层
在一开始增加一个On Error Resume Next
因为一开始没有cir选集的话,ThisDrawing.SelectionSets.Item("cir")就会出错
回复

使用道具 举报

13

主题

34

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
86
发表于 2011-11-22 22:34:00 | 显示全部楼层

恩  是这样的  谢谢
回复

使用道具 举报

75

主题

306

帖子

10

银币

中流砥柱

Rank: 25

铜币
606
发表于 2011-11-22 23:12:00 | 显示全部楼层
呵呵,不怎么用VBA,没有考虑到这些
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-15 21:13 , Processed in 0.532880 second(s), 70 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表