乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 39|回复: 1

[求助]使用Arx 如何对AcadRegion进行旋转并取得体积?

[复制链接]

4

主题

6

帖子

2

银币

初来乍到

Rank: 1

铜币
22
发表于 2009-5-7 15:52:00 | 显示全部楼层 |阅读模式
public double GetArea(AcadEntity[] entities)
        {
            object[] regions = (object[])aDocument.ModelSpace.AddRegion(entities);
           AcadRegion region = (AcadRegion)regions[0];
           double  reArea = region.Area;
           region.Delete();
           return reArea;
           AcadSolid sl = new AcadSolid();
        }
上面函数为Arx下使用面域求面积,现在想把面域旋转,求得面积和体积,应该用什么类?AcadSolid?Solid?Solid3d?如果能够帮忙说下,非常感谢,并请给出旋转函数,包括参数和返回值,并求体积?如果用第一个,则没有Revolve方法,如果后面两中,则又牵扯到Arx和com的区别了.
回复

使用道具 举报

4

主题

6

帖子

2

银币

初来乍到

Rank: 1

铜币
22
发表于 2009-5-8 10:03:00 | 显示全部楼层
已做出,该用法如下
调用函数
AcadCircle cl=  op.CreateCircle(new double[] { 20, 20, 0 }, 10, "0", "ACAD_RED");
         AcadEntity[] ens = new AcadEntity[1];
         ens[0] = (AcadEntity)cl;
         double kk = op.GetVolume(ens, new double[3] { 0, 0, 0 }, new double[] { 1, 0, 0 }, 2 * Math.PI);
被调用函数,体积计算
  public double GetVolume(AcadEntity[] entities, double[] axisPoint, double[] axisDir, double Angle)
        {
            double dv = 0;
           object[] regions = (object[])aDocument.ModelSpace.AddRegion(entities);
           AcadRegion region = (AcadRegion)regions[0];
           Acad3DSolid sl = aDocument.ModelSpace.AddRevolvedSolid(region, axisPoint, axisDir, Angle);
           dv=sl.Volume;
           region.Delete();
           sl.Delete();
           return dv;
        }
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-28 14:36 , Processed in 1.117649 second(s), 57 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表