基本上我想将包含一堆经度和纬度的Excel文件导入到AutoCAD中。我尝试使用多点工具,并在命令行中使用pointnording,easting粘贴它们,但它似乎没有用。任何想法
答案 0 :(得分:0)
是的:)您要做的是将一个称为SCR的文件推送到Autocad中。除此之外,您还需要手动输入命令行中的所有内容。如果您的excel输出格式相同,这将很好地工作。通常,那些“无法编程”的人会强迫Excel用autocad命令制作一张表,该表会逐点完成工作。然后,他们将事物复制并粘贴到Excel中的文本编辑器中,并将其保存到以.SCR结尾的文件中并使用。顺便说一下,一个非常丑陋的解决方案。 Excel具有VBA,Autocad具有VBA! 如果您希望excel驱动器autocad或autocad驱动器excel,这取决于您的首选项。两者都有可能。我尝试了两种方式。两者都有点糟糕;)我认为最好的方法是将数据存储在简单的csv文件中。然后,您只需调用vba或lisp或任何执行该任务的例程即可。 Libre Office非常适合处理CSV。无论如何,仅在未经适当重新格式化的情况下将数据爆炸到autocad将无法正常工作。要测试您的excel内容,请将您要使用的一行复制到acad命令行中。如果这叫喊,那么您知道您的错误。 how to write script scr files 因此,实际上,scr文件与纯文本文件一样别无其他,它具有您需要手动输入以获取相同结果的所有内容。在命令行“ SCRIPT”中输入以加载此纯文本文件。愚蠢的是其中没有逻辑功能。要获得更多智能,请寻找Autocad DIESEL。不开玩笑:)他们这样称呼。而且,如果您知道的话,可以肯定,autocad的编程功能很少。 DIESEL LISP VBA Whatever.NET C C ++ Javascript(不开玩笑!)。 ist非常简单,这里有一个VBA示例如何通过autocad驱动excel :) 该示例将从r:\ mappe1.xls中获取excel文件,打开表格“ coordinates”,并从地狱中绘制出像forrester的树;)
Public Sub EXCEL_Import()
Dim blo As AcadBlockReference
Dim EPunkt(0 To 2) As Double
Dim wb As Excel.Workbook
Dim WTAB As Excel.WorkSheet
Dim SHEETNAME as string
Dim BLOCKNAME as string
SHEETNAME="coordinates"
BLOCKNAME="TREE"
Set wb = Excel.Workbooks.Open("r:\mappe1.xls")
Set WTAB = wb.Worksheets(SHEETNAME)
while WTAB.Cells(i, 1)<>""
EPunkt(0) = WTAB.Cells(i, 1): EPunkt(1) = WTAB.Cells(i, 2)
EPunkt(2) = 0
Set blo = ThisDrawing.ModelSpace.InsertBlock _
(EPunkt, BLOCKNAME, 1#, 1#, 1#, 0)
wend
wb.Close 'Datei schließen nicht vergessen
End Sub
忘了提。要将Autocad连接到Excel,您必须添加对excel的引用。 (菜单栏工具/参考)。在对话框中查找excel。 Excel有点特殊,引用不是其EXCEL.EXE的dll!如果未列出,则可以在那里浏览。并且可以肯定-如果ACAD是64位-您的excel也应该是!。那就是为什么我建议改用CSV文件的原因。愚蠢的是,我手头不容易理解工作示例。同时,它们更加“高级”-可以帮助它并获得一些乐趣:)