明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2426|回复: 11

[VBA]算法请教

  [复制链接]
发表于 2005-4-24 15:37:00 | 显示全部楼层 |阅读模式
举个最简单的例子。在AutoCAD主界面下有下图: 如图,共有九个矩形,每个矩形都是由四根直线围成的,图形中有a,b,c,d四根直线。现在的问题是:现在随机从图形中选择a,b,c,d四根直线中的一条,然后通过offset命令上下或者是左右平移该直线(横向的直线上下移动的距离和纵向的直线左右移动的距离都不大,平移的距离是随机的)时,用VBA怎样编程立即得到与该直线相关联的矩形的面积和中心(例如,当选择直线a时,1,2,4,5,7,8六个矩形都与此直线相关联,当把a左右移动一小段距离时,对应1,2,4,5,7,8六个矩形的面积和中心均发生变化)? 我现在正在想这样的问题,首先遇到的问题是: 1.这九个矩形都是由四条直线围成的,在VBA中怎样定义这九个矩形? 2.当任意选择a,b,c,d四根直线中的一条时,怎样立即判断并得到与这条直线相关联的六个矩形? 3.怎样动态的立即得到平移后这九个矩形的长,宽,面积,中心(在平移前,这九个矩形长,宽,面积,中心等属性已经自动生成属性文件,在平移后,怎样立即更新这九个矩形长,宽,面积,中心等属性文件)? 这些问题困扰我很长时间了,具体用VBA代码怎么样实现? 由于是毕业设计,时间很紧急,请斑竹,各位大虾多多帮忙,谢谢~~
 楼主| 发表于 2005-4-24 15:42:00 | 显示全部楼层
不知道为什么,上面的图像为BMP格式的显示不出来,现在给出其jpg格式的
 楼主| 发表于 2005-4-24 15:45:00 | 显示全部楼层
上传此jpg图形,请大家多帮忙~~

本帖子中包含更多资源

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

x
 楼主| 发表于 2005-4-24 15:51:00 | 显示全部楼层
上图中最上面还有一条直线没有显示出来。
 楼主| 发表于 2005-4-24 15:54:00 | 显示全部楼层
好了,现在第三楼显示的是正确的了,请各位多多给出意见和代码~~十分感谢~~
 楼主| 发表于 2005-4-24 18:43:00 | 显示全部楼层
怎么没有人指点啊~~
发表于 2005-4-25 08:29:00 | 显示全部楼层
按坐标判断
 楼主| 发表于 2005-4-26 16:06:00 | 显示全部楼层
请问斑竹,按坐标判断怎么判断?能不能给出一个参考例子?这用VBA实现起来困难不?有没有更好的实现方法?谢谢
发表于 2005-4-26 20:41:00 | 显示全部楼层
?这没有什么技巧可言,代码应该很简单,你先试着写写吧
发表于 2005-5-6 16:18:00 | 显示全部楼层
本帖最后由 作者 于 2005-5-7 17:12:24 编辑

您的意思,我不是太明白。


不过我认为可以这样解决。首先矩形可以用其四个角的坐标来表示。选中每一直线时,可以遍历所有矩形的四个顶点,若某一矩形有两个顶点在此直线上,则该矩形与此直线相关联。当平移直线时亦可以计算出此直线上点的变化,从而计算出新的矩形的面积和中心。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 17:40 , Processed in 0.184014 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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