ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: feye

[原创]利用Excel的VBA控制AutoCAD

[复制链接]

TA的精华主题

TA的得分主题

发表于 2006-7-13 20:08 | 显示全部楼层

操练Excel,又能玩好AutoCAD的人实在难找吧?

TA的精华主题

TA的得分主题

发表于 2006-7-14 16:46 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

TA的精华主题

TA的得分主题

发表于 2006-7-14 16:58 | 显示全部楼层

AutoCAD是风靡全球的绘图软件,是当代建造师的首选武器。但不是最好的专业绘图软件。

我的应用实例http://club.excelhome.net/viewthread.php?tid=143404&replyID=&skin=0

TA的精华主题

TA的得分主题

发表于 2006-7-14 17:02 | 显示全部楼层

楼主演示的必须在CAD中使用,程序操纵的是CAD中的对象,和EXCEL没多大联系。

这个网站专门讨论CAD,楼主不会不知道吧?

http://WWW.MJTD.COM/

TA的精华主题

TA的得分主题

发表于 2006-7-14 17:48 | 显示全部楼层

我不太会CAD,但我自以为关于CAXA的平面画图水平还好(立体图不行!)

与CAXA相连要如何做?

个人以为,对某部分而言,(平面图,并要从不同地方做原点,列出表格式的坐标图的方式),CAXA绝对比CAD好用!

TA的精华主题

TA的得分主题

发表于 2006-7-15 16:50 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

事实上,CAD可看作是Excel的高级绘图控件,其绘图功能是十分强大的,而且其自带了VBA,我们可以在Excel中读取数据或查询数据然后再将数据发送到CAD中进行绘图。亦可在CAD中直接读取Excel中数据,但该法不如前者,因CAD本身处理数据的功能太差。我就利用了Excel的强大的计算、查询及CAD的绘图功能自编了“多段线绘制公路横断面图”程序。两种软件的兼容性还是较好,值得学习。

黄玉宏

二○○六年七月十三日

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-7-15 21:48 | 显示全部楼层

16楼的看法和我相同,能否让我欣赏一下你的程序,能否直接计算填挖方面积,包含常见的结构物带图。

 

 

 

 

 

 

[em39][em39][em39][em39][em39][em39][em39]

[em39][em39][em39][em39]

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-7-15 22:08 | 显示全部楼层

赐教12楼的朋友:

设计人员提供给施工人员的<<横断面设计图>>中,对原地面线仅作了CAD图形,并未提供原始的记录相关数据,希望能从上千张CAD横断面图中提出每一个断面的原地面线数据存入EXCEL中,不要求人工选取地面线。

 

 

 

 

[em39][em39][em39][em39][em39][em39][em39] 

[em39][em39][em39][em39]

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-7-15 22:47 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

LpMul函数

Public Function LpMul(ar() As Pointf, pp As Pointf) As Pointf()
    '给点表数组ar()的每一点坐标分别对应乘以PP点的坐标并返回新点表数组
    Dim i As Integer
    Dim lp() As Pointf
    m = UBound(ar)
    ReDim lp(m)
    For i = 0 To m
        lp(i).i = i
        lp(i).x = ar(i).x * pp.x
        lp(i).y = ar(i).y * pp.y
    Next i
    LpMul = lp

End Function

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-7-15 22:49 | 显示全部楼层

LpIns()函数

Public Function LpIns(ar() As Pointf, pp As Pointf, n As Integer) As Pointf()
    '在点表数组ar()的n记录前插入一个点PP,并返回插入的数组,并不修改ar()
    Dim i As Integer, m As Integer, t As Integer
    Dim lp() As Pointf
    t = 0
    m = UBound(ar)
    ReDim lp(m + 1)
    For i = 0 To m
        If i = n Then
            lp(n) = pp: t = 1
        End If
        lp(i + t) = ar(i)
        lp(i + t).i = i + t
    Next i
    LpIns = lp
End Function

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-9-30 06:31 , Processed in 0.036338 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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