orcan 发表于 2015-4-26 05:08:04

从Autocad到Excel获取坐标

大家好,
我试图通过autocad自动计算某些dxf图形的权重,但到目前为止似乎不可能
现在我正在考虑一种新方案,例如从autocad获取直线、圆等的坐标,然后在catia上重新绘制它们
那么,您能告诉我一种从autocad到excel的直线起点和终点坐标的定位方法吗
提前thx
**** Hidden Message *****

Swift 发表于 2015-4-27 11:28:33

这些天我选择的方法,在使用VBA时,在64位Autocad 2015和32位Excel 2010上工作,是:
- 构建一个选择集(或一系列if-then循环),我发现64位VBA中的选择集充其量是脆弱的
- 一旦你有项目,你想要写一个逗号分隔的文本文件
- 导入到excel
它不是最干净的方法,但更防弹对我来说,在我的盒子上,尝试一些更高档的东西。
我可以在当天晚些时候给你举个例子。

Swift 发表于 2015-4-27 16:58:34

这是一种蛮力方法,不是速度恶魔,但如果您让它坐下来烹饪,并参考“Microsoft脚本运行时”
,它是可靠的Public Sub BruteForceTriangles()
Dim txtstream As TextStream
Dim fso As New FileSystemObject
Dim face As Acad3DFace
Dim myfile As String
Dim acent As AcadEntity
On Error GoTo MyExit
myfile = "C:\GDrive\AutoCAD\HLB-Lime.txt"
Set txtstream = fso.OpenTextFile(myfile, ForWriting, True)
For Each acent In ThisDrawing.ModelSpace
    If acent.ObjectName = "AcDbFace" Then
      Set face = acent
      
      If face.Layer = "0-HLB-LimeArea" Then
         
            txtstream.WriteLine face.Coordinates(0) & "," & face.Coordinates(1) & "," & face.Coordinates(2) & "," & face.Coordinates(3) & "," & face.Coordinates(4) & "," & face.Coordinates(5) & "," & face.Coordinates(6) & "," & face.Coordinates(7) & "," & face.Coordinates(8)
      
      End If
    End If
Next acent
MyExit:
txtstream.Close
End Sub

orcan 发表于 2015-5-1 11:34:46

嘿swift
谢谢你的回复
我会试一试并分享结果。
干杯!

accent@pdq.net 发表于 2015-7-13 12:07:26

我们正在寻找AutoCad VBA顾问。我们为AutoCad开发了一个Visual Basic插件,它在AutoCad 12 WindowsXP上运行良好。AutoCad限制了对AutoCad 13的Visual Basic支持(也可能是14),但在AutoCad 2015中重新引入。我们需要为适用于 64 位 Windows 7 和 AutoCad 15+ 的 AutoCad 插件提供一些 VBA 编程支持。
请与我联系。
Mark
Universe Technical Translation,
Inc.mark@universe.us
713-8278800
页: [1]
查看完整版本: 从Autocad到Excel获取坐标