找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 471|回复: 2

[求助]:四边形或者六变形的面积式子

[复制链接]
发表于 2004-11-17 20:08:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
On Error GoTo ErrHandle
    Dim pnt
    Dim picked As Boolean
    Dim px() As Double
    Dim py() As Double
    Dim i, k As Integer
    Dim pcenter() As Double
    Dim insertdistance() As Double
    Me.Hide
    Do While 1
        pnt = ThisDrawing.Utility.GetPoint
        ThisDrawing.SendCommand "-boundary" & vbCr & "a" & vbCr & "b" & vbCr & "e" & vbCr & vbCr & pnt(0) & "," & pnt(1) & vbCr & vbCr
        Set pr = ThisDrawing.ModelSpace(ThisDrawing.ModelSpace.Count - 1)
        Dim retCoord As Variant
        retCoord = pr.Coordinates
        k = (UBound(retCoord) + 1) / 2                      '记录新绘制pline顶点个数
        MsgBox "这是一个" & k & "边形"
        ReDim px(UBound(retCoord)) As Double
        ReDim py(UBound(retCoord)) As Double
        For i = 0 To UBound(retCoord) Step 2
            px(i / 2) = retCoord(i)
            py(i / 2) = retCoord(i + 1)
           Next i
         ReDim insertdistance(k) As Double
        For i = 0 To k - 2                     '用点选的方法获得点坐标,然后判断图形形状,计算形状面积,累加所有点选图形面积计算式。
                                               '最后得出象: A*B + C*D + E*F
        insertdistance(i) = Sqr((px(i) - px(i + 1)) * (px(i) - px(i + 1)) + (py(i) - py(i + 1)) * (py(i) - py(i + 1)))
       Next i       '因为我只要求出四边形和六边形,并且还差一个判断,所有的角度是直角
        If k = 4 Then
        ssss = insertdistance(0) & "*" & insertdistance(1)
        Else       '还有一种情况是六边形
        ssss = insertdistance(0) & "*" & insertdistance(1) & "+" & insertdistance(3) & "*" & insertdistance(4)       '此处得到了是面积的式子,而且要求每次点击六边形或者四边行要把前面得到的式子再追加上来。……………………………………………………
        End If
        MsgBox ssss    '这里其实应该显示的结果如图所示
    picked = True
Loop
ErrHandle:
    Me.Show

头疼的地方就在省略号的地方,我不知道如何将第一次选择图形所得到的公式继续追加起来,而且六边形的形状有四种,我的程序中只要考虑这四种情况,如何解决求面积公式,真是不知道如何是好,谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-11-20 00:58:00 | 显示全部楼层
不能用LIST查吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-11-30 20:06:22 | 显示全部楼层
现在我已经集成了一部分功能上面,所以再分开有困难
而且我没有学过lisp
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-28 17:34 , Processed in 0.354109 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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