乐筑天下

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

出口Bricscad铂金X-固体

[复制链接]

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2010-12-15 03:44:38 | 显示全部楼层 |阅读模式
这是一个如何导出在Bricscad V11白金中绘制的X-Solid的示例。由于每个固体都在Xdata中包含其ECS,因此重新排列在WCS中旋转的固体并获取范围是一项微不足道的任务:kewl:
图片、代码和附加的解决方案
  1. // get XData and create AcGeMatrix3d
  2.     static Acad::ErrorStatus getMatrix(AcGeMatrix3d &xform, const resbuf *pRb)
  3.     {
  4.         assert(pRb);
  5.         AcGePoint3dArray points;
  6.         Acad::ErrorStatus es = Acad::eBadUCS;
  7.         // iterate though the xdata and collect our points
  8.         for(const resbuf *pRbTemp = pRb;pRbTemp != NULL;pRbTemp=pRbTemp->rbnext)
  9.         {
  10.             if(pRbTemp->restype == 1011 /*Xdata*/)
  11.                 points.append(asPnt3d(&pRbTemp->resval.rpoint[0]));
  12.         }
  13.         if(points.length() == 4)
  14.         {
  15.             // apply the points to a matrix
  16.             xform.setCoordSystem(points[0],
  17.                 points[1]-points[0],
  18.                 points[2]-points[0],
  19.                 points[3]-points[0]);
  20.             es = Acad::eOk;
  21.         }
  22.         return es;
  23.     }
  24.     // print the output
  25.     static Acad::ErrorStatus printExtents(const AcDb3dSolid *pSolid, std::ofstream &file)
  26.     {
  27.         assert(pRb);
  28.         if(!pSolid)
  29.             return Acad::eNullPtr;
  30.         AcDbExtents extents;
  31.         if(pSolid->getGeomExtents(extents) == Acad::eOk)
  32.         {
  33.             file pSolid(ids[idx],AcDb::kForRead);
  34.                 if(pSolid.openStatus()!=eOk)
  35.                     continue;
  36.                 ResbufList xdata(pSolid->xData(_T("_X-Solids_")));
  37.                 if(getMatrix(xfrm,xdata) == Acad::eOk)
  38.                 {
  39.                     std::auto_ptrpTmpSolid(AcDb3dSolid::cast(pSolid->clone()));
  40.                     if(pTmpSolid.get())
  41.                     {
  42.                         if(pTmpSolid->transformBy(xfrm.invert()) ==  Acad::eOk)
  43.                             printExtents(pTmpSolid.get(),file);
  44.                     }
  45.                 }
  46.             }
  47.             acedRestoreStatusBar();
  48.         }
  49.         catch (...)
  50.         {
  51.             acutPrintf(_T("Exception writing to file"));
  52.         }
  53.         file.flush();
  54.         file.close();
  55.     }


evqmduimrz1.PNG

evqmduimrz1.PNG


eknczmsugo2.PNG

eknczmsugo2.PNG


obmu1p3qrbd.PNG

obmu1p3qrbd.PNG

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

15

主题

109

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
169
发表于 2010-12-15 03:49:33 | 显示全部楼层
BTY ARX 文件的命令是 xport
回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2010-12-15 04:59:30 | 显示全部楼层

好东西丹尼尔...
HLR Api是否已整理出来(用于隐藏线删除)
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2010-12-15 07:50:40 | 显示全部楼层
酷!
回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2011-4-12 18:53:05 | 显示全部楼层
的确,这是很酷的东西!它是否保存挤压实体的ecs数据
Kerry,似乎他们现在有了hlr引擎->
现在对我来说有点晚了,除非我得到定制订单什么的,我们现在使用的是Tekla结构,到目前为止,我还没有发现任何真正需要编码的东西,所以我的编码技能正在快速下降
回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2011-4-12 20:43:33 | 显示全部楼层

谢谢米克我有最新的下载..只是等待一个新的盒子出现,所以我可以安装它。

我知道这种情况米克。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-5 16:54 , Processed in 0.160089 second(s), 69 queries .

© 2020-2025 乐筑天下

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